﻿2026-06-16T08:24:18.4273828Z ##[group]Run ./traceable-reqs check --json
2026-06-16T08:24:18.4274169Z [36;1m./traceable-reqs check --json[0m
2026-06-16T08:24:18.4286948Z shell: /usr/bin/bash -e {0}
2026-06-16T08:24:18.4287184Z ##[endgroup]
2026-06-16T08:24:18.4802658Z {
2026-06-16T08:24:18.4803077Z   "schemaVersion": 1,
2026-06-16T08:24:18.4803745Z   "summary": {
2026-06-16T08:24:18.4804108Z     "requirementCount": 213,
2026-06-16T08:24:18.4804527Z     "completeCount": 213,
2026-06-16T08:24:18.4804917Z     "incompleteCount": 0,
2026-06-16T08:24:18.4805288Z     "findingCount": 0
2026-06-16T08:24:18.4805617Z   },
2026-06-16T08:24:18.4805917Z   "requirements": [
2026-06-16T08:24:18.4806242Z     {
2026-06-16T08:24:18.4806571Z       "id": "REQ-API-1",
2026-06-16T08:24:18.4807089Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-16T08:24:18.4807679Z       "requiredStages": [
2026-06-16T08:24:18.4808032Z         "impl",
2026-06-16T08:24:18.4808342Z         "unit",
2026-06-16T08:24:18.4808634Z         "int"
2026-06-16T08:24:18.4809086Z       ],
2026-06-16T08:24:18.4809381Z       "stages": {
2026-06-16T08:24:18.4809700Z         "doc": {
2026-06-16T08:24:18.4810022Z           "complete": false,
2026-06-16T08:24:18.4810327Z           "evidence": []
2026-06-16T08:24:18.4810599Z         },
2026-06-16T08:24:18.4810857Z         "impl": {
2026-06-16T08:24:18.4811123Z           "complete": true,
2026-06-16T08:24:18.4811414Z           "evidence": [
2026-06-16T08:24:18.4811686Z             {
2026-06-16T08:24:18.4811977Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.4812337Z               "line": 15
2026-06-16T08:24:18.4812603Z             }
2026-06-16T08:24:18.4812847Z           ]
2026-06-16T08:24:18.4813090Z         },
2026-06-16T08:24:18.4813337Z         "int": {
2026-06-16T08:24:18.4813603Z           "complete": true,
2026-06-16T08:24:18.4813904Z           "evidence": [
2026-06-16T08:24:18.4814181Z             {
2026-06-16T08:24:18.4814490Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.4814901Z               "line": 13
2026-06-16T08:24:18.4815162Z             }
2026-06-16T08:24:18.4815411Z           ]
2026-06-16T08:24:18.4815639Z         },
2026-06-16T08:24:18.4815887Z         "unit": {
2026-06-16T08:24:18.4816153Z           "complete": true,
2026-06-16T08:24:18.4816468Z           "evidence": [
2026-06-16T08:24:18.4816741Z             {
2026-06-16T08:24:18.4817031Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.4817388Z               "line": 526
2026-06-16T08:24:18.4817668Z             },
2026-06-16T08:24:18.4817920Z             {
2026-06-16T08:24:18.4818191Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.4818545Z               "line": 564
2026-06-16T08:24:18.4818831Z             },
2026-06-16T08:24:18.4819165Z             {
2026-06-16T08:24:18.4819446Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.4819809Z               "line": 651
2026-06-16T08:24:18.4820086Z             }
2026-06-16T08:24:18.4820336Z           ]
2026-06-16T08:24:18.4820567Z         }
2026-06-16T08:24:18.4820802Z       }
2026-06-16T08:24:18.4821035Z     },
2026-06-16T08:24:18.4821273Z     {
2026-06-16T08:24:18.4821526Z       "id": "REQ-API-2",
2026-06-16T08:24:18.4821984Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-16T08:24:18.4822513Z       "requiredStages": [
2026-06-16T08:24:18.4822827Z         "impl",
2026-06-16T08:24:18.4823078Z         "unit",
2026-06-16T08:24:18.4823349Z         "int"
2026-06-16T08:24:18.4823596Z       ],
2026-06-16T08:24:18.4823844Z       "stages": {
2026-06-16T08:24:18.4824102Z         "doc": {
2026-06-16T08:24:18.4824384Z           "complete": false,
2026-06-16T08:24:18.4824679Z           "evidence": []
2026-06-16T08:24:18.4824961Z         },
2026-06-16T08:24:18.4825190Z         "impl": {
2026-06-16T08:24:18.4825447Z           "complete": true,
2026-06-16T08:24:18.4825746Z           "evidence": [
2026-06-16T08:24:18.4826013Z             {
2026-06-16T08:24:18.4826572Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.4826948Z               "line": 17
2026-06-16T08:24:18.4827220Z             },
2026-06-16T08:24:18.4827469Z             {
2026-06-16T08:24:18.4827759Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.4828284Z               "line": 20
2026-06-16T08:24:18.4828561Z             },
2026-06-16T08:24:18.4828814Z             {
2026-06-16T08:24:18.4829210Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.4829571Z               "line": 142
2026-06-16T08:24:18.4829849Z             },
2026-06-16T08:24:18.4830102Z             {
2026-06-16T08:24:18.4830393Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4830769Z               "line": 24
2026-06-16T08:24:18.4831035Z             },
2026-06-16T08:24:18.4831285Z             {
2026-06-16T08:24:18.4831575Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4831934Z               "line": 41
2026-06-16T08:24:18.4832210Z             },
2026-06-16T08:24:18.4832448Z             {
2026-06-16T08:24:18.4832739Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4833097Z               "line": 209
2026-06-16T08:24:18.4833373Z             },
2026-06-16T08:24:18.4833634Z             {
2026-06-16T08:24:18.4833924Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4834291Z               "line": 251
2026-06-16T08:24:18.4834567Z             },
2026-06-16T08:24:18.4834816Z             {
2026-06-16T08:24:18.4835125Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4835498Z               "line": 330
2026-06-16T08:24:18.4835794Z             },
2026-06-16T08:24:18.4836079Z             {
2026-06-16T08:24:18.4836315Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4836640Z               "line": 393
2026-06-16T08:24:18.4836884Z             },
2026-06-16T08:24:18.4837141Z             {
2026-06-16T08:24:18.4837446Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4837828Z               "line": 432
2026-06-16T08:24:18.4838119Z             },
2026-06-16T08:24:18.4838367Z             {
2026-06-16T08:24:18.4838666Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4839103Z               "line": 17
2026-06-16T08:24:18.4839375Z             },
2026-06-16T08:24:18.4839618Z             {
2026-06-16T08:24:18.4839898Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4840257Z               "line": 30
2026-06-16T08:24:18.4840537Z             },
2026-06-16T08:24:18.4840785Z             {
2026-06-16T08:24:18.4841061Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4841418Z               "line": 63
2026-06-16T08:24:18.4841688Z             },
2026-06-16T08:24:18.4841941Z             {
2026-06-16T08:24:18.4842223Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4842580Z               "line": 77
2026-06-16T08:24:18.4842871Z             }
2026-06-16T08:24:18.4843114Z           ]
2026-06-16T08:24:18.4843356Z         },
2026-06-16T08:24:18.4843604Z         "int": {
2026-06-16T08:24:18.4843872Z           "complete": true,
2026-06-16T08:24:18.4844199Z           "evidence": [
2026-06-16T08:24:18.4844431Z             {
2026-06-16T08:24:18.4844673Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.4844926Z               "line": 14
2026-06-16T08:24:18.4845118Z             },
2026-06-16T08:24:18.4845299Z             {
2026-06-16T08:24:18.4845494Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.4845748Z               "line": 187
2026-06-16T08:24:18.4845938Z             }
2026-06-16T08:24:18.4846100Z           ]
2026-06-16T08:24:18.4846267Z         },
2026-06-16T08:24:18.4846433Z         "unit": {
2026-06-16T08:24:18.4846621Z           "complete": true,
2026-06-16T08:24:18.4846828Z           "evidence": [
2026-06-16T08:24:18.4847015Z             {
2026-06-16T08:24:18.4847363Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.4847611Z               "line": 82
2026-06-16T08:24:18.4847801Z             },
2026-06-16T08:24:18.4847974Z             {
2026-06-16T08:24:18.4848173Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.4848521Z               "line": 279
2026-06-16T08:24:18.4848711Z             },
2026-06-16T08:24:18.4848884Z             {
2026-06-16T08:24:18.4849159Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4849405Z               "line": 705
2026-06-16T08:24:18.4849591Z             },
2026-06-16T08:24:18.4849761Z             {
2026-06-16T08:24:18.4849949Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4850192Z               "line": 716
2026-06-16T08:24:18.4850382Z             },
2026-06-16T08:24:18.4850545Z             {
2026-06-16T08:24:18.4852892Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4853145Z               "line": 869
2026-06-16T08:24:18.4853340Z             },
2026-06-16T08:24:18.4853511Z             {
2026-06-16T08:24:18.4853698Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4853945Z               "line": 915
2026-06-16T08:24:18.4854141Z             },
2026-06-16T08:24:18.4854314Z             {
2026-06-16T08:24:18.4854507Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4854764Z               "line": 143
2026-06-16T08:24:18.4854958Z             },
2026-06-16T08:24:18.4855134Z             {
2026-06-16T08:24:18.4855335Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.4855607Z               "line": 187
2026-06-16T08:24:18.4855806Z             }
2026-06-16T08:24:18.4855979Z           ]
2026-06-16T08:24:18.4856144Z         }
2026-06-16T08:24:18.4856318Z       }
2026-06-16T08:24:18.4856478Z     },
2026-06-16T08:24:18.4856633Z     {
2026-06-16T08:24:18.4856798Z       "id": "REQ-API-3",
2026-06-16T08:24:18.4857060Z       "title": "commune/signoff are file-drops, not commands",
2026-06-16T08:24:18.4857351Z       "requiredStages": [
2026-06-16T08:24:18.4857551Z         "impl",
2026-06-16T08:24:18.4857731Z         "unit",
2026-06-16T08:24:18.4857899Z         "int"
2026-06-16T08:24:18.4858065Z       ],
2026-06-16T08:24:18.4858252Z       "stages": {
2026-06-16T08:24:18.4858427Z         "doc": {
2026-06-16T08:24:18.4858619Z           "complete": false,
2026-06-16T08:24:18.4858829Z           "evidence": []
2026-06-16T08:24:18.4859096Z         },
2026-06-16T08:24:18.4859267Z         "impl": {
2026-06-16T08:24:18.4859449Z           "complete": true,
2026-06-16T08:24:18.4859657Z           "evidence": [
2026-06-16T08:24:18.4859843Z             {
2026-06-16T08:24:18.4860045Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.4860418Z               "line": 27
2026-06-16T08:24:18.4860651Z             },
2026-06-16T08:24:18.4860823Z             {
2026-06-16T08:24:18.4861019Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4882706Z               "line": 562
2026-06-16T08:24:18.4883078Z             }
2026-06-16T08:24:18.4883331Z           ]
2026-06-16T08:24:18.4883504Z         },
2026-06-16T08:24:18.4883682Z         "int": {
2026-06-16T08:24:18.4883877Z           "complete": true,
2026-06-16T08:24:18.4884119Z           "evidence": [
2026-06-16T08:24:18.4884319Z             {
2026-06-16T08:24:18.4884544Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.4884811Z               "line": 261
2026-06-16T08:24:18.4885001Z             }
2026-06-16T08:24:18.4885173Z           ]
2026-06-16T08:24:18.4885345Z         },
2026-06-16T08:24:18.4885516Z         "unit": {
2026-06-16T08:24:18.4885727Z           "complete": true,
2026-06-16T08:24:18.4885940Z           "evidence": [
2026-06-16T08:24:18.4886145Z             {
2026-06-16T08:24:18.4886373Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.4886652Z               "line": 280
2026-06-16T08:24:18.4886848Z             },
2026-06-16T08:24:18.4887311Z             {
2026-06-16T08:24:18.4887534Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.4887802Z               "line": 944
2026-06-16T08:24:18.4887998Z             }
2026-06-16T08:24:18.4888188Z           ]
2026-06-16T08:24:18.4888464Z         }
2026-06-16T08:24:18.4888632Z       }
2026-06-16T08:24:18.4888798Z     },
2026-06-16T08:24:18.4889027Z     {
2026-06-16T08:24:18.4889197Z       "id": "REQ-ARCH-1",
2026-06-16T08:24:18.4889431Z       "title": "Many small acyclically-layered crates",
2026-06-16T08:24:18.4889694Z       "requiredStages": [
2026-06-16T08:24:18.4889885Z         "impl"
2026-06-16T08:24:18.4890060Z       ],
2026-06-16T08:24:18.4890233Z       "stages": {
2026-06-16T08:24:18.4890432Z         "doc": {
2026-06-16T08:24:18.4890614Z           "complete": false,
2026-06-16T08:24:18.4890810Z           "evidence": []
2026-06-16T08:24:18.4891005Z         },
2026-06-16T08:24:18.4891173Z         "impl": {
2026-06-16T08:24:18.4891347Z           "complete": true,
2026-06-16T08:24:18.4891542Z           "evidence": [
2026-06-16T08:24:18.4891725Z             {
2026-06-16T08:24:18.4891917Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-16T08:24:18.4892151Z               "line": 18
2026-06-16T08:24:18.4892331Z             },
2026-06-16T08:24:18.4892499Z             {
2026-06-16T08:24:18.4892689Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-16T08:24:18.4892927Z               "line": 12
2026-06-16T08:24:18.4893110Z             },
2026-06-16T08:24:18.4893276Z             {
2026-06-16T08:24:18.4893462Z               "path": "crates/spt-store/src/lib.rs",
2026-06-16T08:24:18.4893682Z               "line": 12
2026-06-16T08:24:18.4893867Z             }
2026-06-16T08:24:18.4894026Z           ]
2026-06-16T08:24:18.4894186Z         },
2026-06-16T08:24:18.4894343Z         "int": {
2026-06-16T08:24:18.4894531Z           "complete": false,
2026-06-16T08:24:18.4894723Z           "evidence": []
2026-06-16T08:24:18.4894898Z         },
2026-06-16T08:24:18.4895066Z         "unit": {
2026-06-16T08:24:18.4895241Z           "complete": false,
2026-06-16T08:24:18.4895438Z           "evidence": []
2026-06-16T08:24:18.4895614Z         }
2026-06-16T08:24:18.4895799Z       }
2026-06-16T08:24:18.4895958Z     },
2026-06-16T08:24:18.4896128Z     {
2026-06-16T08:24:18.4896297Z       "id": "REQ-ARCH-2",
2026-06-16T08:24:18.4896559Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-16T08:24:18.4896862Z       "requiredStages": [
2026-06-16T08:24:18.4897065Z         "impl"
2026-06-16T08:24:18.4897222Z       ],
2026-06-16T08:24:18.4897379Z       "stages": {
2026-06-16T08:24:18.4897552Z         "doc": {
2026-06-16T08:24:18.4897732Z           "complete": false,
2026-06-16T08:24:18.4897928Z           "evidence": []
2026-06-16T08:24:18.4898103Z         },
2026-06-16T08:24:18.4898262Z         "impl": {
2026-06-16T08:24:18.4898438Z           "complete": true,
2026-06-16T08:24:18.4898629Z           "evidence": [
2026-06-16T08:24:18.4898806Z             {
2026-06-16T08:24:18.4899335Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-16T08:24:18.4899792Z               "line": 18
2026-06-16T08:24:18.4900087Z             }
2026-06-16T08:24:18.4900348Z           ]
2026-06-16T08:24:18.4900597Z         },
2026-06-16T08:24:18.4900859Z         "int": {
2026-06-16T08:24:18.4901132Z           "complete": false,
2026-06-16T08:24:18.4901442Z           "evidence": []
2026-06-16T08:24:18.4901719Z         },
2026-06-16T08:24:18.4901968Z         "unit": {
2026-06-16T08:24:18.4902234Z           "complete": false,
2026-06-16T08:24:18.4902548Z           "evidence": []
2026-06-16T08:24:18.4902816Z         }
2026-06-16T08:24:18.4903059Z       }
2026-06-16T08:24:18.4903293Z     },
2026-06-16T08:24:18.4903521Z     {
2026-06-16T08:24:18.4903770Z       "id": "REQ-ARCH-3",
2026-06-16T08:24:18.4904247Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-16T08:24:18.4904784Z       "requiredStages": [
2026-06-16T08:24:18.4905264Z         "impl",
2026-06-16T08:24:18.4905511Z         "unit"
2026-06-16T08:24:18.4905754Z       ],
2026-06-16T08:24:18.4906007Z       "stages": {
2026-06-16T08:24:18.4906260Z         "doc": {
2026-06-16T08:24:18.4906528Z           "complete": false,
2026-06-16T08:24:18.4906999Z           "evidence": []
2026-06-16T08:24:18.4907284Z         },
2026-06-16T08:24:18.4907531Z         "impl": {
2026-06-16T08:24:18.4907802Z           "complete": true,
2026-06-16T08:24:18.4908112Z           "evidence": [
2026-06-16T08:24:18.4908388Z             {
2026-06-16T08:24:18.4908693Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T08:24:18.4909208Z               "line": 34
2026-06-16T08:24:18.4909508Z             },
2026-06-16T08:24:18.4909748Z             {
2026-06-16T08:24:18.4910058Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T08:24:18.4910428Z               "line": 41
2026-06-16T08:24:18.4910685Z             }
2026-06-16T08:24:18.4910928Z           ]
2026-06-16T08:24:18.4911166Z         },
2026-06-16T08:24:18.4911391Z         "int": {
2026-06-16T08:24:18.4911673Z           "complete": false,
2026-06-16T08:24:18.4911955Z           "evidence": []
2026-06-16T08:24:18.4912230Z         },
2026-06-16T08:24:18.4912462Z         "unit": {
2026-06-16T08:24:18.4912723Z           "complete": true,
2026-06-16T08:24:18.4912995Z           "evidence": [
2026-06-16T08:24:18.4913272Z             {
2026-06-16T08:24:18.4913572Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T08:24:18.4913949Z               "line": 51
2026-06-16T08:24:18.4914225Z             },
2026-06-16T08:24:18.4914488Z             {
2026-06-16T08:24:18.4914793Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T08:24:18.4915184Z               "line": 71
2026-06-16T08:24:18.4915463Z             },
2026-06-16T08:24:18.4915713Z             {
2026-06-16T08:24:18.4916028Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T08:24:18.4916430Z               "line": 83
2026-06-16T08:24:18.4916735Z             }
2026-06-16T08:24:18.4916987Z           ]
2026-06-16T08:24:18.4917249Z         }
2026-06-16T08:24:18.4917506Z       }
2026-06-16T08:24:18.4917765Z     },
2026-06-16T08:24:18.4918011Z     {
2026-06-16T08:24:18.4918256Z       "id": "REQ-ARCH-4",
2026-06-16T08:24:18.4918687Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-16T08:24:18.4919273Z       "requiredStages": [
2026-06-16T08:24:18.4919567Z         "impl",
2026-06-16T08:24:18.4919825Z         "unit"
2026-06-16T08:24:18.4920063Z       ],
2026-06-16T08:24:18.4920416Z       "stages": {
2026-06-16T08:24:18.4920674Z         "doc": {
2026-06-16T08:24:18.4920955Z           "complete": false,
2026-06-16T08:24:18.4921265Z           "evidence": []
2026-06-16T08:24:18.4921561Z         },
2026-06-16T08:24:18.4921818Z         "impl": {
2026-06-16T08:24:18.4922089Z           "complete": true,
2026-06-16T08:24:18.4922385Z           "evidence": [
2026-06-16T08:24:18.4922661Z             {
2026-06-16T08:24:18.4922971Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4923349Z               "line": 165
2026-06-16T08:24:18.4923636Z             },
2026-06-16T08:24:18.4923893Z             {
2026-06-16T08:24:18.4924184Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4924570Z               "line": 188
2026-06-16T08:24:18.4924852Z             },
2026-06-16T08:24:18.4925110Z             {
2026-06-16T08:24:18.4925434Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4925833Z               "line": 208
2026-06-16T08:24:18.4926047Z             },
2026-06-16T08:24:18.4926211Z             {
2026-06-16T08:24:18.4926408Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4926656Z               "line": 223
2026-06-16T08:24:18.4926846Z             },
2026-06-16T08:24:18.4927014Z             {
2026-06-16T08:24:18.4927212Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4927452Z               "line": 273
2026-06-16T08:24:18.4927795Z             }
2026-06-16T08:24:18.4927953Z           ]
2026-06-16T08:24:18.4928119Z         },
2026-06-16T08:24:18.4928282Z         "int": {
2026-06-16T08:24:18.4928452Z           "complete": false,
2026-06-16T08:24:18.4928666Z           "evidence": []
2026-06-16T08:24:18.4929023Z         },
2026-06-16T08:24:18.4929208Z         "unit": {
2026-06-16T08:24:18.4929393Z           "complete": true,
2026-06-16T08:24:18.4929599Z           "evidence": [
2026-06-16T08:24:18.4929789Z             {
2026-06-16T08:24:18.4929989Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4930234Z               "line": 334
2026-06-16T08:24:18.4930414Z             },
2026-06-16T08:24:18.4930581Z             {
2026-06-16T08:24:18.4930772Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4931015Z               "line": 344
2026-06-16T08:24:18.4931202Z             },
2026-06-16T08:24:18.4931357Z             {
2026-06-16T08:24:18.4931549Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4931801Z               "line": 355
2026-06-16T08:24:18.4931981Z             },
2026-06-16T08:24:18.4932135Z             {
2026-06-16T08:24:18.4932330Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4932573Z               "line": 366
2026-06-16T08:24:18.4932760Z             },
2026-06-16T08:24:18.4932930Z             {
2026-06-16T08:24:18.4933122Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4933360Z               "line": 378
2026-06-16T08:24:18.4933536Z             },
2026-06-16T08:24:18.4933702Z             {
2026-06-16T08:24:18.4933886Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4934125Z               "line": 391
2026-06-16T08:24:18.4934310Z             },
2026-06-16T08:24:18.4934486Z             {
2026-06-16T08:24:18.4934673Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4934915Z               "line": 402
2026-06-16T08:24:18.4935111Z             },
2026-06-16T08:24:18.4935264Z             {
2026-06-16T08:24:18.4935450Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4935684Z               "line": 419
2026-06-16T08:24:18.4935874Z             },
2026-06-16T08:24:18.4936050Z             {
2026-06-16T08:24:18.4936252Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.4936483Z               "line": 547
2026-06-16T08:24:18.4936668Z             }
2026-06-16T08:24:18.4936833Z           ]
2026-06-16T08:24:18.4937001Z         }
2026-06-16T08:24:18.4937163Z       }
2026-06-16T08:24:18.4937330Z     },
2026-06-16T08:24:18.4937492Z     {
2026-06-16T08:24:18.4937669Z       "id": "REQ-CLI-1",
2026-06-16T08:24:18.4938852Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-16T08:24:18.4940121Z       "requiredStages": [
2026-06-16T08:24:18.4940315Z         "impl",
2026-06-16T08:24:18.4940498Z         "unit"
2026-06-16T08:24:18.4940669Z       ],
2026-06-16T08:24:18.4940841Z       "stages": {
2026-06-16T08:24:18.4941017Z         "doc": {
2026-06-16T08:24:18.4941197Z           "complete": false,
2026-06-16T08:24:18.4941400Z           "evidence": []
2026-06-16T08:24:18.4941584Z         },
2026-06-16T08:24:18.4941753Z         "impl": {
2026-06-16T08:24:18.4941936Z           "complete": true,
2026-06-16T08:24:18.4942151Z           "evidence": [
2026-06-16T08:24:18.4942346Z             {
2026-06-16T08:24:18.4942532Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.4942781Z               "line": 225
2026-06-16T08:24:18.4942962Z             },
2026-06-16T08:24:18.4943133Z             {
2026-06-16T08:24:18.4943320Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.4943664Z               "line": 1034
2026-06-16T08:24:18.4943853Z             },
2026-06-16T08:24:18.4944020Z             {
2026-06-16T08:24:18.4944209Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.4944441Z               "line": 1562
2026-06-16T08:24:18.4944727Z             },
2026-06-16T08:24:18.4944899Z             {
2026-06-16T08:24:18.4945089Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.4945324Z               "line": 2849
2026-06-16T08:24:18.4945505Z             }
2026-06-16T08:24:18.4945657Z           ]
2026-06-16T08:24:18.4945819Z         },
2026-06-16T08:24:18.4945991Z         "int": {
2026-06-16T08:24:18.4946173Z           "complete": false,
2026-06-16T08:24:18.4946377Z           "evidence": []
2026-06-16T08:24:18.4946564Z         },
2026-06-16T08:24:18.4946725Z         "unit": {
2026-06-16T08:24:18.4946902Z           "complete": true,
2026-06-16T08:24:18.4947096Z           "evidence": [
2026-06-16T08:24:18.4947299Z             {
2026-06-16T08:24:18.4947485Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.4947713Z               "line": 6880
2026-06-16T08:24:18.4947900Z             }
2026-06-16T08:24:18.4948066Z           ]
2026-06-16T08:24:18.4948224Z         }
2026-06-16T08:24:18.4948400Z       }
2026-06-16T08:24:18.4948557Z     },
2026-06-16T08:24:18.4948705Z     {
2026-06-16T08:24:18.4948877Z       "id": "REQ-CLI-2",
2026-06-16T08:24:18.4949777Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-16T08:24:18.4950623Z       "requiredStages": [
2026-06-16T08:24:18.4950820Z         "impl",
2026-06-16T08:24:18.4950987Z         "unit"
2026-06-16T08:24:18.4951153Z       ],
2026-06-16T08:24:18.4951316Z       "stages": {
2026-06-16T08:24:18.4951496Z         "doc": {
2026-06-16T08:24:18.4951688Z           "complete": false,
2026-06-16T08:24:18.4951897Z           "evidence": []
2026-06-16T08:24:18.4952082Z         },
2026-06-16T08:24:18.5007081Z         "impl": {
2026-06-16T08:24:18.5007485Z           "complete": true,
2026-06-16T08:24:18.5007773Z           "evidence": [
2026-06-16T08:24:18.5007969Z             {
2026-06-16T08:24:18.5008197Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5008460Z               "line": 382
2026-06-16T08:24:18.5008656Z             },
2026-06-16T08:24:18.5008821Z             {
2026-06-16T08:24:18.5009132Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T08:24:18.5009915Z               "line": 97
2026-06-16T08:24:18.5010158Z             },
2026-06-16T08:24:18.5010380Z             {
2026-06-16T08:24:18.5010627Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.5010951Z               "line": 239
2026-06-16T08:24:18.5011180Z             },
2026-06-16T08:24:18.5011398Z             {
2026-06-16T08:24:18.5011623Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5011899Z               "line": 419
2026-06-16T08:24:18.5012119Z             },
2026-06-16T08:24:18.5012314Z             {
2026-06-16T08:24:18.5012529Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5012816Z               "line": 1117
2026-06-16T08:24:18.5013038Z             },
2026-06-16T08:24:18.5013226Z             {
2026-06-16T08:24:18.5013441Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5013708Z               "line": 1757
2026-06-16T08:24:18.5013927Z             },
2026-06-16T08:24:18.5014113Z             {
2026-06-16T08:24:18.5014333Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5014604Z               "line": 1836
2026-06-16T08:24:18.5014829Z             },
2026-06-16T08:24:18.5015015Z             {
2026-06-16T08:24:18.5015219Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5015482Z               "line": 1897
2026-06-16T08:24:18.5016054Z             }
2026-06-16T08:24:18.5016253Z           ]
2026-06-16T08:24:18.5016448Z         },
2026-06-16T08:24:18.5016644Z         "int": {
2026-06-16T08:24:18.5016864Z           "complete": false,
2026-06-16T08:24:18.5017106Z           "evidence": []
2026-06-16T08:24:18.5017483Z         },
2026-06-16T08:24:18.5017678Z         "unit": {
2026-06-16T08:24:18.5017895Z           "complete": true,
2026-06-16T08:24:18.5018140Z           "evidence": [
2026-06-16T08:24:18.5018362Z             {
2026-06-16T08:24:18.5018606Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.5018916Z               "line": 309
2026-06-16T08:24:18.5019354Z             },
2026-06-16T08:24:18.5019550Z             {
2026-06-16T08:24:18.5019779Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5020050Z               "line": 7018
2026-06-16T08:24:18.5020269Z             }
2026-06-16T08:24:18.5020466Z           ]
2026-06-16T08:24:18.5020632Z         }
2026-06-16T08:24:18.5020800Z       }
2026-06-16T08:24:18.5020950Z     },
2026-06-16T08:24:18.5021107Z     {
2026-06-16T08:24:18.5021271Z       "id": "REQ-CLI-3",
2026-06-16T08:24:18.5022097Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-16T08:24:18.5022999Z       "requiredStages": [
2026-06-16T08:24:18.5023194Z         "impl",
2026-06-16T08:24:18.5023357Z         "unit"
2026-06-16T08:24:18.5023522Z       ],
2026-06-16T08:24:18.5023684Z       "stages": {
2026-06-16T08:24:18.5023862Z         "doc": {
2026-06-16T08:24:18.5024035Z           "complete": false,
2026-06-16T08:24:18.5024234Z           "evidence": []
2026-06-16T08:24:18.5024421Z         },
2026-06-16T08:24:18.5024583Z         "impl": {
2026-06-16T08:24:18.5024759Z           "complete": true,
2026-06-16T08:24:18.5024965Z           "evidence": [
2026-06-16T08:24:18.5025150Z             {
2026-06-16T08:24:18.5025336Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5025566Z               "line": 1028
2026-06-16T08:24:18.5025750Z             }
2026-06-16T08:24:18.5025942Z           ]
2026-06-16T08:24:18.5026119Z         },
2026-06-16T08:24:18.5026281Z         "int": {
2026-06-16T08:24:18.5026455Z           "complete": false,
2026-06-16T08:24:18.5026661Z           "evidence": []
2026-06-16T08:24:18.5026847Z         },
2026-06-16T08:24:18.5027003Z         "unit": {
2026-06-16T08:24:18.5027186Z           "complete": true,
2026-06-16T08:24:18.5027380Z           "evidence": [
2026-06-16T08:24:18.5027562Z             {
2026-06-16T08:24:18.5027748Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5027971Z               "line": 6845
2026-06-16T08:24:18.5028159Z             }
2026-06-16T08:24:18.5028324Z           ]
2026-06-16T08:24:18.5028488Z         }
2026-06-16T08:24:18.5028638Z       }
2026-06-16T08:24:18.5028805Z     },
2026-06-16T08:24:18.5029032Z     {
2026-06-16T08:24:18.5029213Z       "id": "REQ-CONSENT-1",
2026-06-16T08:24:18.5030219Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-16T08:24:18.5031260Z       "requiredStages": [
2026-06-16T08:24:18.5031454Z         "impl",
2026-06-16T08:24:18.5031630Z         "unit"
2026-06-16T08:24:18.5031794Z       ],
2026-06-16T08:24:18.5031961Z       "stages": {
2026-06-16T08:24:18.5032128Z         "doc": {
2026-06-16T08:24:18.5032300Z           "complete": false,
2026-06-16T08:24:18.5032508Z           "evidence": []
2026-06-16T08:24:18.5032696Z         },
2026-06-16T08:24:18.5032862Z         "impl": {
2026-06-16T08:24:18.5033043Z           "complete": true,
2026-06-16T08:24:18.5033358Z           "evidence": [
2026-06-16T08:24:18.5033531Z             {
2026-06-16T08:24:18.5033725Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5033978Z               "line": 27
2026-06-16T08:24:18.5034158Z             },
2026-06-16T08:24:18.5034417Z             {
2026-06-16T08:24:18.5034615Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5034853Z               "line": 75
2026-06-16T08:24:18.5035028Z             },
2026-06-16T08:24:18.5035186Z             {
2026-06-16T08:24:18.5035366Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5035600Z               "line": 98
2026-06-16T08:24:18.5035783Z             },
2026-06-16T08:24:18.5035944Z             {
2026-06-16T08:24:18.5036140Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5036383Z               "line": 82
2026-06-16T08:24:18.5036559Z             },
2026-06-16T08:24:18.5036718Z             {
2026-06-16T08:24:18.5036915Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5037155Z               "line": 109
2026-06-16T08:24:18.5037334Z             },
2026-06-16T08:24:18.5037498Z             {
2026-06-16T08:24:18.5037684Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5037926Z               "line": 127
2026-06-16T08:24:18.5038113Z             },
2026-06-16T08:24:18.5038270Z             {
2026-06-16T08:24:18.5038455Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5038676Z               "line": 142
2026-06-16T08:24:18.5038847Z             },
2026-06-16T08:24:18.5039113Z             {
2026-06-16T08:24:18.5039308Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5039544Z               "line": 6385
2026-06-16T08:24:18.5039727Z             }
2026-06-16T08:24:18.5039892Z           ]
2026-06-16T08:24:18.5040050Z         },
2026-06-16T08:24:18.5040206Z         "int": {
2026-06-16T08:24:18.5040384Z           "complete": false,
2026-06-16T08:24:18.5040580Z           "evidence": []
2026-06-16T08:24:18.5040769Z         },
2026-06-16T08:24:18.5040933Z         "unit": {
2026-06-16T08:24:18.5041108Z           "complete": true,
2026-06-16T08:24:18.5041304Z           "evidence": [
2026-06-16T08:24:18.5041490Z             {
2026-06-16T08:24:18.5041685Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5041920Z               "line": 334
2026-06-16T08:24:18.5042103Z             },
2026-06-16T08:24:18.5042270Z             {
2026-06-16T08:24:18.5042469Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5042702Z               "line": 380
2026-06-16T08:24:18.5042884Z             },
2026-06-16T08:24:18.5043041Z             {
2026-06-16T08:24:18.5043227Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5043456Z               "line": 391
2026-06-16T08:24:18.5043641Z             },
2026-06-16T08:24:18.5043800Z             {
2026-06-16T08:24:18.5044013Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5044256Z               "line": 165
2026-06-16T08:24:18.5044501Z             },
2026-06-16T08:24:18.5044752Z             {
2026-06-16T08:24:18.5045035Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5045493Z               "line": 184
2026-06-16T08:24:18.5045780Z             },
2026-06-16T08:24:18.5046056Z             {
2026-06-16T08:24:18.5046400Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T08:24:18.5046710Z               "line": 204
2026-06-16T08:24:18.5046996Z             },
2026-06-16T08:24:18.5047268Z             {
2026-06-16T08:24:18.5047561Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5047948Z               "line": 7198
2026-06-16T08:24:18.5048205Z             }
2026-06-16T08:24:18.5048472Z           ]
2026-06-16T08:24:18.5048730Z         }
2026-06-16T08:24:18.5049088Z       }
2026-06-16T08:24:18.5049426Z     },
2026-06-16T08:24:18.5049659Z     {
2026-06-16T08:24:18.5050114Z       "id": "REQ-CONSENT-2",
2026-06-16T08:24:18.5051145Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-16T08:24:18.5052298Z       "requiredStages": [
2026-06-16T08:24:18.5052626Z         "impl",
2026-06-16T08:24:18.5052872Z         "unit"
2026-06-16T08:24:18.5053120Z       ],
2026-06-16T08:24:18.5053454Z       "stages": {
2026-06-16T08:24:18.5053726Z         "doc": {
2026-06-16T08:24:18.5054026Z           "complete": false,
2026-06-16T08:24:18.5054312Z           "evidence": []
2026-06-16T08:24:18.5054554Z         },
2026-06-16T08:24:18.5054860Z         "impl": {
2026-06-16T08:24:18.5055141Z           "complete": true,
2026-06-16T08:24:18.5055457Z           "evidence": [
2026-06-16T08:24:18.5055781Z             {
2026-06-16T08:24:18.5056068Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5056473Z               "line": 140
2026-06-16T08:24:18.5056735Z             },
2026-06-16T08:24:18.5057016Z             {
2026-06-16T08:24:18.5057326Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5057664Z               "line": 165
2026-06-16T08:24:18.5058031Z             },
2026-06-16T08:24:18.5058285Z             {
2026-06-16T08:24:18.5058594Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5059013Z               "line": 199
2026-06-16T08:24:18.5059300Z             },
2026-06-16T08:24:18.5059614Z             {
2026-06-16T08:24:18.5059891Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5060192Z               "line": 241
2026-06-16T08:24:18.5060579Z             },
2026-06-16T08:24:18.5060827Z             {
2026-06-16T08:24:18.5061165Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5061494Z               "line": 269
2026-06-16T08:24:18.5061757Z             },
2026-06-16T08:24:18.5062067Z             {
2026-06-16T08:24:18.5062349Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5062772Z               "line": 300
2026-06-16T08:24:18.5063050Z             },
2026-06-16T08:24:18.5063286Z             {
2026-06-16T08:24:18.5063608Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5063937Z               "line": 6176
2026-06-16T08:24:18.5064233Z             },
2026-06-16T08:24:18.5064490Z             {
2026-06-16T08:24:18.5064766Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5065139Z               "line": 6234
2026-06-16T08:24:18.5065425Z             }
2026-06-16T08:24:18.5065686Z           ]
2026-06-16T08:24:18.5065943Z         },
2026-06-16T08:24:18.5066194Z         "int": {
2026-06-16T08:24:18.5066499Z           "complete": false,
2026-06-16T08:24:18.5066800Z           "evidence": []
2026-06-16T08:24:18.5067052Z         },
2026-06-16T08:24:18.5067409Z         "unit": {
2026-06-16T08:24:18.5067667Z           "complete": true,
2026-06-16T08:24:18.5067996Z           "evidence": [
2026-06-16T08:24:18.5068272Z             {
2026-06-16T08:24:18.5068553Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5069078Z               "line": 419
2026-06-16T08:24:18.5069379Z             },
2026-06-16T08:24:18.5069664Z             {
2026-06-16T08:24:18.5069998Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5070303Z               "line": 436
2026-06-16T08:24:18.5070647Z             },
2026-06-16T08:24:18.5070893Z             {
2026-06-16T08:24:18.5071210Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5071558Z               "line": 472
2026-06-16T08:24:18.5071820Z             },
2026-06-16T08:24:18.5072154Z             {
2026-06-16T08:24:18.5072422Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.5072788Z               "line": 516
2026-06-16T08:24:18.5073200Z             },
2026-06-16T08:24:18.5073461Z             {
2026-06-16T08:24:18.5073774Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5074091Z               "line": 8440
2026-06-16T08:24:18.5074359Z             },
2026-06-16T08:24:18.5074808Z             {
2026-06-16T08:24:18.5075079Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5075442Z               "line": 8522
2026-06-16T08:24:18.5075723Z             }
2026-06-16T08:24:18.5075956Z           ]
2026-06-16T08:24:18.5076261Z         }
2026-06-16T08:24:18.5076531Z       }
2026-06-16T08:24:18.5076826Z     },
2026-06-16T08:24:18.5077117Z     {
2026-06-16T08:24:18.5077360Z       "id": "REQ-CONSENT-3",
2026-06-16T08:24:18.5079885Z       "title": "Per-capability approval gates (class-keyed): the require_approval enum may ride INDIVIDUAL [shell.capabilities] entries — gating the dangerous ACT, not just the spawn — with an optional class_key scoping the grant qualifier finer than the capability id ((owner endpoint x device class x node); a remembered HID-class attach grant never authorizes a storage-class attach). Reuses the grant store + interactive escalation + tighten-only floor (REQ-CONSENT-1/2 plumbing). Spawn gates govern EXISTENCE; capability gates govern ACTS — an explicitly distinct invariant (CONTEXT:283, ratified 2026-06-11 Gateway grill).",
2026-06-16T08:24:18.5081756Z       "requiredStages": [
2026-06-16T08:24:18.5082099Z         "doc",
2026-06-16T08:24:18.5082352Z         "impl",
2026-06-16T08:24:18.5082582Z         "unit",
2026-06-16T08:24:18.5082896Z         "int"
2026-06-16T08:24:18.5083140Z       ],
2026-06-16T08:24:18.5083416Z       "stages": {
2026-06-16T08:24:18.5083740Z         "doc": {
2026-06-16T08:24:18.5083993Z           "complete": true,
2026-06-16T08:24:18.5084339Z           "evidence": [
2026-06-16T08:24:18.5084613Z             {
2026-06-16T08:24:18.5084910Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5085224Z               "line": 285
2026-06-16T08:24:18.5085486Z             }
2026-06-16T08:24:18.5085806Z           ]
2026-06-16T08:24:18.5086078Z         },
2026-06-16T08:24:18.5086365Z         "impl": {
2026-06-16T08:24:18.5086651Z           "complete": true,
2026-06-16T08:24:18.5086954Z           "evidence": [
2026-06-16T08:24:18.5087261Z             {
2026-06-16T08:24:18.5087552Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5087886Z               "line": 123
2026-06-16T08:24:18.5088205Z             },
2026-06-16T08:24:18.5088496Z             {
2026-06-16T08:24:18.5088816Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5089289Z               "line": 162
2026-06-16T08:24:18.5089547Z             },
2026-06-16T08:24:18.5089854Z             {
2026-06-16T08:24:18.5090150Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5090509Z               "line": 291
2026-06-16T08:24:18.5090838Z             },
2026-06-16T08:24:18.5091070Z             {
2026-06-16T08:24:18.5091409Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5091772Z               "line": 499
2026-06-16T08:24:18.5092061Z             },
2026-06-16T08:24:18.5092335Z             {
2026-06-16T08:24:18.5092612Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5092993Z               "line": 749
2026-06-16T08:24:18.5093312Z             },
2026-06-16T08:24:18.5093599Z             {
2026-06-16T08:24:18.5093895Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5094214Z               "line": 6302
2026-06-16T08:24:18.5094543Z             }
2026-06-16T08:24:18.5094786Z           ]
2026-06-16T08:24:18.5095014Z         },
2026-06-16T08:24:18.5095336Z         "int": {
2026-06-16T08:24:18.5095628Z           "complete": true,
2026-06-16T08:24:18.5095957Z           "evidence": [
2026-06-16T08:24:18.5096227Z             {
2026-06-16T08:24:18.5096504Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-16T08:24:18.5096911Z               "line": 16
2026-06-16T08:24:18.5097306Z             }
2026-06-16T08:24:18.5097595Z           ]
2026-06-16T08:24:18.5097879Z         },
2026-06-16T08:24:18.5098122Z         "unit": {
2026-06-16T08:24:18.5098432Z           "complete": true,
2026-06-16T08:24:18.5098717Z           "evidence": [
2026-06-16T08:24:18.5099224Z             {
2026-06-16T08:24:18.5099581Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5099914Z               "line": 1019
2026-06-16T08:24:18.5108305Z             },
2026-06-16T08:24:18.5108516Z             {
2026-06-16T08:24:18.5108745Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5109131Z               "line": 1066
2026-06-16T08:24:18.5109321Z             },
2026-06-16T08:24:18.5109493Z             {
2026-06-16T08:24:18.5109689Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5109941Z               "line": 1113
2026-06-16T08:24:18.5110122Z             }
2026-06-16T08:24:18.5110280Z           ]
2026-06-16T08:24:18.5110451Z         }
2026-06-16T08:24:18.5110605Z       }
2026-06-16T08:24:18.5110762Z     },
2026-06-16T08:24:18.5110922Z     {
2026-06-16T08:24:18.5111091Z       "id": "REQ-CONV-1",
2026-06-16T08:24:18.5112687Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-16T08:24:18.5114023Z       "requiredStages": [
2026-06-16T08:24:18.5114215Z         "impl",
2026-06-16T08:24:18.5114390Z         "unit"
2026-06-16T08:24:18.5114548Z       ],
2026-06-16T08:24:18.5114714Z       "stages": {
2026-06-16T08:24:18.5114882Z         "doc": {
2026-06-16T08:24:18.5115063Z           "complete": false,
2026-06-16T08:24:18.5115263Z           "evidence": []
2026-06-16T08:24:18.5115440Z         },
2026-06-16T08:24:18.5115601Z         "impl": {
2026-06-16T08:24:18.5115769Z           "complete": true,
2026-06-16T08:24:18.5115973Z           "evidence": [
2026-06-16T08:24:18.5116158Z             {
2026-06-16T08:24:18.5116360Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5116604Z               "line": 861
2026-06-16T08:24:18.5116786Z             },
2026-06-16T08:24:18.5116947Z             {
2026-06-16T08:24:18.5117153Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.5117402Z               "line": 94
2026-06-16T08:24:18.5117572Z             },
2026-06-16T08:24:18.5117740Z             {
2026-06-16T08:24:18.5117944Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.5118182Z               "line": 345
2026-06-16T08:24:18.5118365Z             },
2026-06-16T08:24:18.5118534Z             {
2026-06-16T08:24:18.5118725Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.5119053Z               "line": 387
2026-06-16T08:24:18.5119252Z             },
2026-06-16T08:24:18.5119419Z             {
2026-06-16T08:24:18.5119643Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.5119881Z               "line": 472
2026-06-16T08:24:18.5120058Z             },
2026-06-16T08:24:18.5120215Z             {
2026-06-16T08:24:18.5120411Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5120650Z               "line": 667
2026-06-16T08:24:18.5120835Z             },
2026-06-16T08:24:18.5120988Z             {
2026-06-16T08:24:18.5121179Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5121415Z               "line": 693
2026-06-16T08:24:18.5121588Z             },
2026-06-16T08:24:18.5121749Z             {
2026-06-16T08:24:18.5121950Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.5122198Z               "line": 369
2026-06-16T08:24:18.5122542Z             },
2026-06-16T08:24:18.5122703Z             {
2026-06-16T08:24:18.5122904Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T08:24:18.5123157Z               "line": 19
2026-06-16T08:24:18.5123333Z             }
2026-06-16T08:24:18.5123594Z           ]
2026-06-16T08:24:18.5123761Z         },
2026-06-16T08:24:18.5123926Z         "int": {
2026-06-16T08:24:18.5124102Z           "complete": false,
2026-06-16T08:24:18.5124297Z           "evidence": []
2026-06-16T08:24:18.5124479Z         },
2026-06-16T08:24:18.5124645Z         "unit": {
2026-06-16T08:24:18.5124822Z           "complete": true,
2026-06-16T08:24:18.5125017Z           "evidence": [
2026-06-16T08:24:18.5125199Z             {
2026-06-16T08:24:18.5125404Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5125671Z               "line": 1263
2026-06-16T08:24:18.5125861Z             },
2026-06-16T08:24:18.5126024Z             {
2026-06-16T08:24:18.5126223Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T08:24:18.5126475Z               "line": 108
2026-06-16T08:24:18.5126661Z             },
2026-06-16T08:24:18.5126821Z             {
2026-06-16T08:24:18.5127012Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T08:24:18.5127250Z               "line": 134
2026-06-16T08:24:18.5127427Z             },
2026-06-16T08:24:18.5127594Z             {
2026-06-16T08:24:18.5127789Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T08:24:18.5128037Z               "line": 144
2026-06-16T08:24:18.5128203Z             }
2026-06-16T08:24:18.5128366Z           ]
2026-06-16T08:24:18.5128523Z         }
2026-06-16T08:24:18.5128685Z       }
2026-06-16T08:24:18.5128843Z     },
2026-06-16T08:24:18.5129090Z     {
2026-06-16T08:24:18.5129252Z       "id": "REQ-CONV-2",
2026-06-16T08:24:18.5130480Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-16T08:24:18.5131534Z       "requiredStages": [
2026-06-16T08:24:18.5131725Z         "impl",
2026-06-16T08:24:18.5131900Z         "unit"
2026-06-16T08:24:18.5132061Z       ],
2026-06-16T08:24:18.5132220Z       "stages": {
2026-06-16T08:24:18.5132390Z         "doc": {
2026-06-16T08:24:18.5132568Z           "complete": false,
2026-06-16T08:24:18.5132763Z           "evidence": []
2026-06-16T08:24:18.5132939Z         },
2026-06-16T08:24:18.5133102Z         "impl": {
2026-06-16T08:24:18.5133277Z           "complete": true,
2026-06-16T08:24:18.5133464Z           "evidence": [
2026-06-16T08:24:18.5133640Z             {
2026-06-16T08:24:18.5133844Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5134094Z               "line": 359
2026-06-16T08:24:18.5134291Z             },
2026-06-16T08:24:18.5134453Z             {
2026-06-16T08:24:18.5134667Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.5134919Z               "line": 119
2026-06-16T08:24:18.5135096Z             },
2026-06-16T08:24:18.5135267Z             {
2026-06-16T08:24:18.5135468Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5135720Z               "line": 789
2026-06-16T08:24:18.5135911Z             },
2026-06-16T08:24:18.5136068Z             {
2026-06-16T08:24:18.5136270Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5136522Z               "line": 800
2026-06-16T08:24:18.5136702Z             },
2026-06-16T08:24:18.5136861Z             {
2026-06-16T08:24:18.5137050Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5137288Z               "line": 334
2026-06-16T08:24:18.5137476Z             },
2026-06-16T08:24:18.5137634Z             {
2026-06-16T08:24:18.5137920Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5138149Z               "line": 2802
2026-06-16T08:24:18.5138335Z             },
2026-06-16T08:24:18.5138492Z             {
2026-06-16T08:24:18.5138678Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5139122Z               "line": 2818
2026-06-16T08:24:18.5139307Z             },
2026-06-16T08:24:18.5139481Z             {
2026-06-16T08:24:18.5139655Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5139882Z               "line": 2877
2026-06-16T08:24:18.5140091Z             }
2026-06-16T08:24:18.5140258Z           ]
2026-06-16T08:24:18.5140420Z         },
2026-06-16T08:24:18.5140582Z         "int": {
2026-06-16T08:24:18.5140745Z           "complete": false,
2026-06-16T08:24:18.5140949Z           "evidence": []
2026-06-16T08:24:18.5141126Z         },
2026-06-16T08:24:18.5141283Z         "unit": {
2026-06-16T08:24:18.5141459Z           "complete": true,
2026-06-16T08:24:18.5141660Z           "evidence": [
2026-06-16T08:24:18.5141845Z             {
2026-06-16T08:24:18.5142038Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5142280Z               "line": 889
2026-06-16T08:24:18.5142460Z             },
2026-06-16T08:24:18.5142626Z             {
2026-06-16T08:24:18.5142817Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5143057Z               "line": 1014
2026-06-16T08:24:18.5143241Z             },
2026-06-16T08:24:18.5143400Z             {
2026-06-16T08:24:18.5143604Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.5143861Z               "line": 215
2026-06-16T08:24:18.5144034Z             }
2026-06-16T08:24:18.5144205Z           ]
2026-06-16T08:24:18.5144372Z         }
2026-06-16T08:24:18.5144529Z       }
2026-06-16T08:24:18.5144686Z     },
2026-06-16T08:24:18.5144843Z     {
2026-06-16T08:24:18.5145013Z       "id": "REQ-DAEMON-1",
2026-06-16T08:24:18.5145285Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-16T08:24:18.5145585Z       "requiredStages": [
2026-06-16T08:24:18.5145774Z         "impl",
2026-06-16T08:24:18.5145947Z         "unit",
2026-06-16T08:24:18.5146113Z         "int"
2026-06-16T08:24:18.5146272Z       ],
2026-06-16T08:24:18.5146438Z       "stages": {
2026-06-16T08:24:18.5146619Z         "doc": {
2026-06-16T08:24:18.5146801Z           "complete": false,
2026-06-16T08:24:18.5147001Z           "evidence": []
2026-06-16T08:24:18.5147183Z         },
2026-06-16T08:24:18.5147344Z         "impl": {
2026-06-16T08:24:18.5147536Z           "complete": true,
2026-06-16T08:24:18.5147724Z           "evidence": [
2026-06-16T08:24:18.5147904Z             {
2026-06-16T08:24:18.5148118Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5148374Z               "line": 229
2026-06-16T08:24:18.5148548Z             },
2026-06-16T08:24:18.5148704Z             {
2026-06-16T08:24:18.5148895Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5149238Z               "line": 12
2026-06-16T08:24:18.5149411Z             },
2026-06-16T08:24:18.5149576Z             {
2026-06-16T08:24:18.5149773Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5150012Z               "line": 16
2026-06-16T08:24:18.5150196Z             },
2026-06-16T08:24:18.5150358Z             {
2026-06-16T08:24:18.5150560Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5150813Z               "line": 259
2026-06-16T08:24:18.5151000Z             },
2026-06-16T08:24:18.5151170Z             {
2026-06-16T08:24:18.5151376Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5151634Z               "line": 24
2026-06-16T08:24:18.5151814Z             },
2026-06-16T08:24:18.5151973Z             {
2026-06-16T08:24:18.5152172Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5152269Z               "line": 136
2026-06-16T08:24:18.5152353Z             },
2026-06-16T08:24:18.5152545Z             {
2026-06-16T08:24:18.5152659Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5152758Z               "line": 153
2026-06-16T08:24:18.5152835Z             },
2026-06-16T08:24:18.5152922Z             {
2026-06-16T08:24:18.5153044Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5153230Z               "line": 202
2026-06-16T08:24:18.5153316Z             },
2026-06-16T08:24:18.5153397Z             {
2026-06-16T08:24:18.5153520Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5153602Z               "line": 234
2026-06-16T08:24:18.5153683Z             },
2026-06-16T08:24:18.5153768Z             {
2026-06-16T08:24:18.5153879Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T08:24:18.5153979Z               "line": 15
2026-06-16T08:24:18.5154059Z             },
2026-06-16T08:24:18.5154141Z             {
2026-06-16T08:24:18.5154250Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5154346Z               "line": 183
2026-06-16T08:24:18.5154421Z             },
2026-06-16T08:24:18.5154504Z             {
2026-06-16T08:24:18.5154627Z               "path": "crates/spt/src/api/live.rs",
2026-06-16T08:24:18.5154717Z               "line": 13
2026-06-16T08:24:18.5154799Z             },
2026-06-16T08:24:18.5154875Z             {
2026-06-16T08:24:18.5154989Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5155089Z               "line": 281
2026-06-16T08:24:18.5155171Z             },
2026-06-16T08:24:18.5155299Z             {
2026-06-16T08:24:18.5155407Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5155503Z               "line": 369
2026-06-16T08:24:18.5155583Z             }
2026-06-16T08:24:18.5155667Z           ]
2026-06-16T08:24:18.5155753Z         },
2026-06-16T08:24:18.5155835Z         "int": {
2026-06-16T08:24:18.5155935Z           "complete": true,
2026-06-16T08:24:18.5156025Z           "evidence": [
2026-06-16T08:24:18.5156112Z             {
2026-06-16T08:24:18.5156278Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-16T08:24:18.5156368Z               "line": 2
2026-06-16T08:24:18.5156445Z             },
2026-06-16T08:24:18.5156526Z             {
2026-06-16T08:24:18.5156693Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-16T08:24:18.5156774Z               "line": 16
2026-06-16T08:24:18.5156860Z             },
2026-06-16T08:24:18.5156941Z             {
2026-06-16T08:24:18.5157084Z               "path": "crates/spt/tests/live_bind_firsthost_e2e.rs",
2026-06-16T08:24:18.5157179Z               "line": 12
2026-06-16T08:24:18.5157256Z             },
2026-06-16T08:24:18.5157337Z             {
2026-06-16T08:24:18.5157456Z               "path": "crates/spt/tests/live_firsthost_e2e.rs",
2026-06-16T08:24:18.5157551Z               "line": 12
2026-06-16T08:24:18.5157637Z             }
2026-06-16T08:24:18.5157714Z           ]
2026-06-16T08:24:18.5157799Z         },
2026-06-16T08:24:18.5157890Z         "unit": {
2026-06-16T08:24:18.5157986Z           "complete": true,
2026-06-16T08:24:18.5158062Z           "evidence": [
2026-06-16T08:24:18.5158152Z             {
2026-06-16T08:24:18.5158270Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5158360Z               "line": 285
2026-06-16T08:24:18.5158455Z             },
2026-06-16T08:24:18.5158530Z             {
2026-06-16T08:24:18.5158649Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5158726Z               "line": 293
2026-06-16T08:24:18.5158812Z             },
2026-06-16T08:24:18.5158892Z             {
2026-06-16T08:24:18.5159098Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5159192Z               "line": 309
2026-06-16T08:24:18.5159289Z             },
2026-06-16T08:24:18.5159375Z             {
2026-06-16T08:24:18.5159493Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5159588Z               "line": 317
2026-06-16T08:24:18.5159780Z             },
2026-06-16T08:24:18.5159855Z             {
2026-06-16T08:24:18.5159990Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5160079Z               "line": 609
2026-06-16T08:24:18.5160160Z             },
2026-06-16T08:24:18.5160319Z             {
2026-06-16T08:24:18.5160447Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5160528Z               "line": 679
2026-06-16T08:24:18.5160605Z             },
2026-06-16T08:24:18.5160686Z             {
2026-06-16T08:24:18.5160808Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5160899Z               "line": 319
2026-06-16T08:24:18.5160980Z             },
2026-06-16T08:24:18.5161058Z             {
2026-06-16T08:24:18.5161177Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5161259Z               "line": 356
2026-06-16T08:24:18.5161341Z             },
2026-06-16T08:24:18.5161420Z             {
2026-06-16T08:24:18.5161550Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5161636Z               "line": 379
2026-06-16T08:24:18.5161716Z             },
2026-06-16T08:24:18.5161797Z             {
2026-06-16T08:24:18.5161913Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5162013Z               "line": 408
2026-06-16T08:24:18.5162093Z             },
2026-06-16T08:24:18.5162165Z             {
2026-06-16T08:24:18.5162279Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5162365Z               "line": 456
2026-06-16T08:24:18.5162446Z             },
2026-06-16T08:24:18.5162528Z             {
2026-06-16T08:24:18.5162642Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T08:24:18.5162727Z               "line": 499
2026-06-16T08:24:18.5162814Z             },
2026-06-16T08:24:18.5162900Z             {
2026-06-16T08:24:18.5163004Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T08:24:18.5163095Z               "line": 106
2026-06-16T08:24:18.5163172Z             },
2026-06-16T08:24:18.5163256Z             {
2026-06-16T08:24:18.5163371Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T08:24:18.5163453Z               "line": 132
2026-06-16T08:24:18.5163548Z             },
2026-06-16T08:24:18.5163632Z             {
2026-06-16T08:24:18.5163737Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5163819Z               "line": 404
2026-06-16T08:24:18.5163895Z             }
2026-06-16T08:24:18.5163971Z           ]
2026-06-16T08:24:18.5164056Z         }
2026-06-16T08:24:18.5164139Z       }
2026-06-16T08:24:18.5164215Z     },
2026-06-16T08:24:18.5164295Z     {
2026-06-16T08:24:18.5164381Z       "id": "REQ-DAEMON-2",
2026-06-16T08:24:18.5164524Z       "title": "Broker/brain split for seamless self-update",
2026-06-16T08:24:18.5164619Z       "requiredStages": [
2026-06-16T08:24:18.5164715Z         "impl",
2026-06-16T08:24:18.5164810Z         "unit",
2026-06-16T08:24:18.5164891Z         "int"
2026-06-16T08:24:18.5164972Z       ],
2026-06-16T08:24:18.5165054Z       "stages": {
2026-06-16T08:24:18.5165135Z         "doc": {
2026-06-16T08:24:18.5165220Z           "complete": true,
2026-06-16T08:24:18.5165315Z           "evidence": [
2026-06-16T08:24:18.5165393Z             {
2026-06-16T08:24:18.5165544Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-16T08:24:18.5165635Z               "line": 250
2026-06-16T08:24:18.5165718Z             }
2026-06-16T08:24:18.5165798Z           ]
2026-06-16T08:24:18.5165878Z         },
2026-06-16T08:24:18.5165967Z         "impl": {
2026-06-16T08:24:18.5166049Z           "complete": true,
2026-06-16T08:24:18.5166143Z           "evidence": [
2026-06-16T08:24:18.5166218Z             {
2026-06-16T08:24:18.5166337Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5166429Z               "line": 23
2026-06-16T08:24:18.5166509Z             },
2026-06-16T08:24:18.5166589Z             {
2026-06-16T08:24:18.5166710Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5166885Z               "line": 795
2026-06-16T08:24:18.5166972Z             },
2026-06-16T08:24:18.5167053Z             {
2026-06-16T08:24:18.5167162Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5167316Z               "line": 820
2026-06-16T08:24:18.5167406Z             },
2026-06-16T08:24:18.5167491Z             {
2026-06-16T08:24:18.5167606Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5167697Z               "line": 1026
2026-06-16T08:24:18.5167782Z             },
2026-06-16T08:24:18.5167863Z             {
2026-06-16T08:24:18.5167978Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5168078Z               "line": 32
2026-06-16T08:24:18.5168154Z             },
2026-06-16T08:24:18.5168231Z             {
2026-06-16T08:24:18.5168355Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5168435Z               "line": 549
2026-06-16T08:24:18.5168517Z             },
2026-06-16T08:24:18.5168590Z             {
2026-06-16T08:24:18.5168698Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5168797Z               "line": 1055
2026-06-16T08:24:18.5168873Z             },
2026-06-16T08:24:18.5169043Z             {
2026-06-16T08:24:18.5169166Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5169252Z               "line": 1342
2026-06-16T08:24:18.5169334Z             },
2026-06-16T08:24:18.5169414Z             {
2026-06-16T08:24:18.5169529Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T08:24:18.5169611Z               "line": 11
2026-06-16T08:24:18.5169687Z             },
2026-06-16T08:24:18.5169766Z             {
2026-06-16T08:24:18.5169882Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5169972Z               "line": 148
2026-06-16T08:24:18.5170048Z             },
2026-06-16T08:24:18.5170130Z             {
2026-06-16T08:24:18.5170240Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5170335Z               "line": 311
2026-06-16T08:24:18.5170415Z             },
2026-06-16T08:24:18.5170498Z             {
2026-06-16T08:24:18.5170607Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5170702Z               "line": 13
2026-06-16T08:24:18.5170778Z             },
2026-06-16T08:24:18.5170850Z             {
2026-06-16T08:24:18.5170973Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5171089Z               "line": 27
2026-06-16T08:24:18.5171189Z             },
2026-06-16T08:24:18.5171260Z             {
2026-06-16T08:24:18.5171378Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5171468Z               "line": 130
2026-06-16T08:24:18.5171549Z             },
2026-06-16T08:24:18.5171637Z             {
2026-06-16T08:24:18.5171747Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5171834Z               "line": 610
2026-06-16T08:24:18.5171915Z             },
2026-06-16T08:24:18.5171995Z             {
2026-06-16T08:24:18.5172115Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5172196Z               "line": 779
2026-06-16T08:24:18.5172272Z             },
2026-06-16T08:24:18.5172353Z             {
2026-06-16T08:24:18.5172473Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5172563Z               "line": 923
2026-06-16T08:24:18.5172643Z             },
2026-06-16T08:24:18.5172726Z             {
2026-06-16T08:24:18.5172839Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5172930Z               "line": 1010
2026-06-16T08:24:18.5173002Z             },
2026-06-16T08:24:18.5173079Z             {
2026-06-16T08:24:18.5173197Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5173278Z               "line": 1129
2026-06-16T08:24:18.5173360Z             },
2026-06-16T08:24:18.5173441Z             {
2026-06-16T08:24:18.5173670Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T08:24:18.5173752Z               "line": 10
2026-06-16T08:24:18.5173840Z             }
2026-06-16T08:24:18.5173917Z           ]
2026-06-16T08:24:18.5174000Z         },
2026-06-16T08:24:18.5174090Z         "int": {
2026-06-16T08:24:18.5174287Z           "complete": true,
2026-06-16T08:24:18.5174384Z           "evidence": [
2026-06-16T08:24:18.5174465Z             {
2026-06-16T08:24:18.5174597Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-16T08:24:18.5174689Z               "line": 17
2026-06-16T08:24:18.5174760Z             },
2026-06-16T08:24:18.5174845Z             {
2026-06-16T08:24:18.5174961Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T08:24:18.5175056Z               "line": 71
2026-06-16T08:24:18.5175132Z             },
2026-06-16T08:24:18.5175213Z             {
2026-06-16T08:24:18.5175343Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T08:24:18.5175427Z               "line": 91
2026-06-16T08:24:18.5175522Z             },
2026-06-16T08:24:18.5175600Z             {
2026-06-16T08:24:18.5175910Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T08:24:18.5182327Z               "line": 167
2026-06-16T08:24:18.5182461Z             },
2026-06-16T08:24:18.5182545Z             {
2026-06-16T08:24:18.5182699Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T08:24:18.5182804Z               "line": 209
2026-06-16T08:24:18.5182927Z             },
2026-06-16T08:24:18.5183014Z             {
2026-06-16T08:24:18.5183157Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-16T08:24:18.5183252Z               "line": 128
2026-06-16T08:24:18.5183333Z             },
2026-06-16T08:24:18.5183418Z             {
2026-06-16T08:24:18.5183537Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T08:24:18.5183620Z               "line": 59
2026-06-16T08:24:18.5183700Z             }
2026-06-16T08:24:18.5183781Z           ]
2026-06-16T08:24:18.5183872Z         },
2026-06-16T08:24:18.5183949Z         "unit": {
2026-06-16T08:24:18.5184048Z           "complete": true,
2026-06-16T08:24:18.5184134Z           "evidence": [
2026-06-16T08:24:18.5184215Z             {
2026-06-16T08:24:18.5184330Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T08:24:18.5184424Z               "line": 62
2026-06-16T08:24:18.5184506Z             },
2026-06-16T08:24:18.5184588Z             {
2026-06-16T08:24:18.5184706Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T08:24:18.5184791Z               "line": 76
2026-06-16T08:24:18.5184881Z             },
2026-06-16T08:24:18.5184963Z             {
2026-06-16T08:24:18.5185072Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T08:24:18.5185162Z               "line": 88
2026-06-16T08:24:18.5185239Z             },
2026-06-16T08:24:18.5185320Z             {
2026-06-16T08:24:18.5185444Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5185540Z               "line": 294
2026-06-16T08:24:18.5185625Z             },
2026-06-16T08:24:18.5185711Z             {
2026-06-16T08:24:18.5185830Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5185912Z               "line": 771
2026-06-16T08:24:18.5186002Z             },
2026-06-16T08:24:18.5186082Z             {
2026-06-16T08:24:18.5186193Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5186279Z               "line": 779
2026-06-16T08:24:18.5186364Z             },
2026-06-16T08:24:18.5186445Z             {
2026-06-16T08:24:18.5186556Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5186635Z               "line": 796
2026-06-16T08:24:18.5186707Z             },
2026-06-16T08:24:18.5186784Z             {
2026-06-16T08:24:18.5186895Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5186984Z               "line": 850
2026-06-16T08:24:18.5187064Z             },
2026-06-16T08:24:18.5187145Z             {
2026-06-16T08:24:18.5187409Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5187491Z               "line": 1200
2026-06-16T08:24:18.5187578Z             },
2026-06-16T08:24:18.5187653Z             {
2026-06-16T08:24:18.5187777Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5187982Z               "line": 1212
2026-06-16T08:24:18.5188068Z             },
2026-06-16T08:24:18.5188140Z             {
2026-06-16T08:24:18.5188277Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T08:24:18.5188368Z               "line": 110
2026-06-16T08:24:18.5188451Z             },
2026-06-16T08:24:18.5188540Z             {
2026-06-16T08:24:18.5188659Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T08:24:18.5188741Z               "line": 143
2026-06-16T08:24:18.5188821Z             }
2026-06-16T08:24:18.5188902Z           ]
2026-06-16T08:24:18.5189085Z         }
2026-06-16T08:24:18.5189169Z       }
2026-06-16T08:24:18.5189260Z     },
2026-06-16T08:24:18.5189342Z     {
2026-06-16T08:24:18.5189442Z       "id": "REQ-DAEMON-3",
2026-06-16T08:24:18.5189599Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-16T08:24:18.5189695Z       "requiredStages": [
2026-06-16T08:24:18.5189790Z         "impl",
2026-06-16T08:24:18.5189874Z         "unit",
2026-06-16T08:24:18.5189959Z         "int"
2026-06-16T08:24:18.5190051Z       ],
2026-06-16T08:24:18.5190135Z       "stages": {
2026-06-16T08:24:18.5190211Z         "doc": {
2026-06-16T08:24:18.5190296Z           "complete": false,
2026-06-16T08:24:18.5190392Z           "evidence": []
2026-06-16T08:24:18.5190473Z         },
2026-06-16T08:24:18.5190558Z         "impl": {
2026-06-16T08:24:18.5190649Z           "complete": true,
2026-06-16T08:24:18.5190731Z           "evidence": [
2026-06-16T08:24:18.5190811Z             {
2026-06-16T08:24:18.5190935Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5191017Z               "line": 14
2026-06-16T08:24:18.5191098Z             },
2026-06-16T08:24:18.5191178Z             {
2026-06-16T08:24:18.5191293Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T08:24:18.5191370Z               "line": 11
2026-06-16T08:24:18.5191445Z             },
2026-06-16T08:24:18.5191531Z             {
2026-06-16T08:24:18.5191647Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.5191727Z               "line": 297
2026-06-16T08:24:18.5191812Z             },
2026-06-16T08:24:18.5191899Z             {
2026-06-16T08:24:18.5192004Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5192098Z               "line": 1755
2026-06-16T08:24:18.5192179Z             },
2026-06-16T08:24:18.5192262Z             {
2026-06-16T08:24:18.5192361Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5192441Z               "line": 3921
2026-06-16T08:24:18.5192522Z             },
2026-06-16T08:24:18.5192603Z             {
2026-06-16T08:24:18.5192702Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5192786Z               "line": 3942
2026-06-16T08:24:18.5192867Z             }
2026-06-16T08:24:18.5192949Z           ]
2026-06-16T08:24:18.5193031Z         },
2026-06-16T08:24:18.5193115Z         "int": {
2026-06-16T08:24:18.5193196Z           "complete": true,
2026-06-16T08:24:18.5193293Z           "evidence": [
2026-06-16T08:24:18.5193364Z             {
2026-06-16T08:24:18.5193483Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.5193564Z               "line": 49
2026-06-16T08:24:18.5193645Z             },
2026-06-16T08:24:18.5193731Z             {
2026-06-16T08:24:18.5193846Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.5193931Z               "line": 487
2026-06-16T08:24:18.5194007Z             }
2026-06-16T08:24:18.5194093Z           ]
2026-06-16T08:24:18.5194170Z         },
2026-06-16T08:24:18.5194256Z         "unit": {
2026-06-16T08:24:18.5194351Z           "complete": true,
2026-06-16T08:24:18.5194547Z           "evidence": [
2026-06-16T08:24:18.5194627Z             {
2026-06-16T08:24:18.5194737Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5194829Z               "line": 804
2026-06-16T08:24:18.5194909Z             },
2026-06-16T08:24:18.5195076Z             {
2026-06-16T08:24:18.5195186Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5195271Z               "line": 9524
2026-06-16T08:24:18.5195356Z             }
2026-06-16T08:24:18.5195441Z           ]
2026-06-16T08:24:18.5195519Z         }
2026-06-16T08:24:18.5195604Z       }
2026-06-16T08:24:18.5195679Z     },
2026-06-16T08:24:18.5195756Z     {
2026-06-16T08:24:18.5195848Z       "id": "REQ-DAEMON-4",
2026-06-16T08:24:18.5195971Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-16T08:24:18.5196066Z       "requiredStages": [
2026-06-16T08:24:18.5196148Z         "impl",
2026-06-16T08:24:18.5196239Z         "unit",
2026-06-16T08:24:18.5196323Z         "int"
2026-06-16T08:24:18.5196405Z       ],
2026-06-16T08:24:18.5196496Z       "stages": {
2026-06-16T08:24:18.5196582Z         "doc": {
2026-06-16T08:24:18.5196672Z           "complete": false,
2026-06-16T08:24:18.5196758Z           "evidence": []
2026-06-16T08:24:18.5196834Z         },
2026-06-16T08:24:18.5196929Z         "impl": {
2026-06-16T08:24:18.5197025Z           "complete": true,
2026-06-16T08:24:18.5197116Z           "evidence": [
2026-06-16T08:24:18.5197200Z             {
2026-06-16T08:24:18.5197321Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5197412Z               "line": 414
2026-06-16T08:24:18.5197487Z             },
2026-06-16T08:24:18.5197572Z             {
2026-06-16T08:24:18.5197696Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5197777Z               "line": 479
2026-06-16T08:24:18.5197860Z             },
2026-06-16T08:24:18.5197941Z             {
2026-06-16T08:24:18.5198061Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5198147Z               "line": 501
2026-06-16T08:24:18.5198222Z             }
2026-06-16T08:24:18.5198309Z           ]
2026-06-16T08:24:18.5198391Z         },
2026-06-16T08:24:18.5198472Z         "int": {
2026-06-16T08:24:18.5198561Z           "complete": true,
2026-06-16T08:24:18.5198657Z           "evidence": [
2026-06-16T08:24:18.5198738Z             {
2026-06-16T08:24:18.5198871Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-16T08:24:18.5199053Z               "line": 42
2026-06-16T08:24:18.5199139Z             }
2026-06-16T08:24:18.5199224Z           ]
2026-06-16T08:24:18.5199301Z         },
2026-06-16T08:24:18.5199391Z         "unit": {
2026-06-16T08:24:18.5199486Z           "complete": true,
2026-06-16T08:24:18.5199572Z           "evidence": [
2026-06-16T08:24:18.5199655Z             {
2026-06-16T08:24:18.5199777Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5199853Z               "line": 428
2026-06-16T08:24:18.5199936Z             },
2026-06-16T08:24:18.5200016Z             {
2026-06-16T08:24:18.5200135Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5200222Z               "line": 907
2026-06-16T08:24:18.5200308Z             },
2026-06-16T08:24:18.5200387Z             {
2026-06-16T08:24:18.5200510Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5200592Z               "line": 977
2026-06-16T08:24:18.5200676Z             },
2026-06-16T08:24:18.5200761Z             {
2026-06-16T08:24:18.5200876Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5200971Z               "line": 1007
2026-06-16T08:24:18.5201052Z             },
2026-06-16T08:24:18.5201128Z             {
2026-06-16T08:24:18.5201244Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5201339Z               "line": 1040
2026-06-16T08:24:18.5201414Z             }
2026-06-16T08:24:18.5201500Z           ]
2026-06-16T08:24:18.5201582Z         }
2026-06-16T08:24:18.5201663Z       }
2026-06-16T08:24:18.5201834Z     },
2026-06-16T08:24:18.5201915Z     {
2026-06-16T08:24:18.5202015Z       "id": "REQ-DAEMON-5",
2026-06-16T08:24:18.5203408Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-16T08:24:18.5203605Z       "requiredStages": [
2026-06-16T08:24:18.5203689Z         "impl",
2026-06-16T08:24:18.5203771Z         "unit"
2026-06-16T08:24:18.5203853Z       ],
2026-06-16T08:24:18.5203938Z       "stages": {
2026-06-16T08:24:18.5204018Z         "doc": {
2026-06-16T08:24:18.5204111Z           "complete": false,
2026-06-16T08:24:18.5204196Z           "evidence": []
2026-06-16T08:24:18.5204272Z         },
2026-06-16T08:24:18.5204357Z         "impl": {
2026-06-16T08:24:18.5204454Z           "complete": true,
2026-06-16T08:24:18.5204539Z           "evidence": [
2026-06-16T08:24:18.5204620Z             {
2026-06-16T08:24:18.5204740Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5204840Z               "line": 476
2026-06-16T08:24:18.5204916Z             },
2026-06-16T08:24:18.5204996Z             {
2026-06-16T08:24:18.5205121Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5205216Z               "line": 769
2026-06-16T08:24:18.5205292Z             },
2026-06-16T08:24:18.5205375Z             {
2026-06-16T08:24:18.5205492Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5205579Z               "line": 782
2026-06-16T08:24:18.5205656Z             },
2026-06-16T08:24:18.5205741Z             {
2026-06-16T08:24:18.5205859Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5205939Z               "line": 800
2026-06-16T08:24:18.5206021Z             },
2026-06-16T08:24:18.5206103Z             {
2026-06-16T08:24:18.5206225Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5206336Z               "line": 841
2026-06-16T08:24:18.5206413Z             }
2026-06-16T08:24:18.5206503Z           ]
2026-06-16T08:24:18.5206583Z         },
2026-06-16T08:24:18.5206675Z         "int": {
2026-06-16T08:24:18.5206769Z           "complete": false,
2026-06-16T08:24:18.5206860Z           "evidence": []
2026-06-16T08:24:18.5206941Z         },
2026-06-16T08:24:18.5207018Z         "unit": {
2026-06-16T08:24:18.5207108Z           "complete": true,
2026-06-16T08:24:18.5207193Z           "evidence": [
2026-06-16T08:24:18.5207275Z             {
2026-06-16T08:24:18.5207395Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5207485Z               "line": 1189
2026-06-16T08:24:18.5207566Z             },
2026-06-16T08:24:18.5207648Z             {
2026-06-16T08:24:18.5207770Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5207851Z               "line": 1213
2026-06-16T08:24:18.5207939Z             },
2026-06-16T08:24:18.5208019Z             {
2026-06-16T08:24:18.5208137Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5208232Z               "line": 1239
2026-06-16T08:24:18.5208313Z             }
2026-06-16T08:24:18.5208402Z           ]
2026-06-16T08:24:18.5208483Z         }
2026-06-16T08:24:18.5208564Z       }
2026-06-16T08:24:18.5208650Z     },
2026-06-16T08:24:18.5208731Z     {
2026-06-16T08:24:18.5208830Z       "id": "REQ-DAEMON-6",
2026-06-16T08:24:18.5210957Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-16T08:24:18.5211265Z       "requiredStages": [
2026-06-16T08:24:18.5211359Z         "impl",
2026-06-16T08:24:18.5211436Z         "unit"
2026-06-16T08:24:18.5211517Z       ],
2026-06-16T08:24:18.5211607Z       "stages": {
2026-06-16T08:24:18.5211688Z         "doc": {
2026-06-16T08:24:18.5211784Z           "complete": false,
2026-06-16T08:24:18.5211865Z           "evidence": []
2026-06-16T08:24:18.5211946Z         },
2026-06-16T08:24:18.5212027Z         "impl": {
2026-06-16T08:24:18.5212123Z           "complete": true,
2026-06-16T08:24:18.5212199Z           "evidence": [
2026-06-16T08:24:18.5212284Z             {
2026-06-16T08:24:18.5212399Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5212480Z               "line": 463
2026-06-16T08:24:18.5212561Z             },
2026-06-16T08:24:18.5212642Z             {
2026-06-16T08:24:18.5212767Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5212851Z               "line": 494
2026-06-16T08:24:18.5212942Z             },
2026-06-16T08:24:18.5213024Z             {
2026-06-16T08:24:18.5213143Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5213228Z               "line": 55
2026-06-16T08:24:18.5213310Z             },
2026-06-16T08:24:18.5213397Z             {
2026-06-16T08:24:18.5213500Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5213590Z               "line": 70
2026-06-16T08:24:18.5213666Z             },
2026-06-16T08:24:18.5213747Z             {
2026-06-16T08:24:18.5213850Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5213939Z               "line": 1809
2026-06-16T08:24:18.5214021Z             },
2026-06-16T08:24:18.5214103Z             {
2026-06-16T08:24:18.5214212Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5214293Z               "line": 1835
2026-06-16T08:24:18.5214380Z             }
2026-06-16T08:24:18.5214465Z           ]
2026-06-16T08:24:18.5214546Z         },
2026-06-16T08:24:18.5214637Z         "int": {
2026-06-16T08:24:18.5214732Z           "complete": false,
2026-06-16T08:24:18.5214818Z           "evidence": []
2026-06-16T08:24:18.5214898Z         },
2026-06-16T08:24:18.5214981Z         "unit": {
2026-06-16T08:24:18.5215075Z           "complete": true,
2026-06-16T08:24:18.5215156Z           "evidence": [
2026-06-16T08:24:18.5215237Z             {
2026-06-16T08:24:18.5215348Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5215428Z               "line": 288
2026-06-16T08:24:18.5215509Z             },
2026-06-16T08:24:18.5215586Z             {
2026-06-16T08:24:18.5215709Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5215785Z               "line": 299
2026-06-16T08:24:18.5215871Z             },
2026-06-16T08:24:18.5215954Z             {
2026-06-16T08:24:18.5216071Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5216158Z               "line": 325
2026-06-16T08:24:18.5216240Z             },
2026-06-16T08:24:18.5216335Z             {
2026-06-16T08:24:18.5216457Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5216552Z               "line": 351
2026-06-16T08:24:18.5216639Z             }
2026-06-16T08:24:18.5216724Z           ]
2026-06-16T08:24:18.5216800Z         }
2026-06-16T08:24:18.5216881Z       }
2026-06-16T08:24:18.5216958Z     },
2026-06-16T08:24:18.5217039Z     {
2026-06-16T08:24:18.5217148Z       "id": "REQ-DAEMON-7",
2026-06-16T08:24:18.5218537Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-16T08:24:18.5218730Z       "requiredStages": [
2026-06-16T08:24:18.5218892Z         "impl",
2026-06-16T08:24:18.5219610Z         "unit"
2026-06-16T08:24:18.5219705Z       ],
2026-06-16T08:24:18.5219787Z       "stages": {
2026-06-16T08:24:18.5219873Z         "doc": {
2026-06-16T08:24:18.5219968Z           "complete": false,
2026-06-16T08:24:18.5220058Z           "evidence": []
2026-06-16T08:24:18.5220135Z         },
2026-06-16T08:24:18.5220216Z         "impl": {
2026-06-16T08:24:18.5220315Z           "complete": true,
2026-06-16T08:24:18.5220407Z           "evidence": [
2026-06-16T08:24:18.5220484Z             {
2026-06-16T08:24:18.5220612Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5220697Z               "line": 513
2026-06-16T08:24:18.5220789Z             },
2026-06-16T08:24:18.5220873Z             {
2026-06-16T08:24:18.5221008Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5221090Z               "line": 601
2026-06-16T08:24:18.5221160Z             },
2026-06-16T08:24:18.5221260Z             {
2026-06-16T08:24:18.5221380Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5221480Z               "line": 89
2026-06-16T08:24:18.5221554Z             },
2026-06-16T08:24:18.5221640Z             {
2026-06-16T08:24:18.5221745Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5221844Z               "line": 1756
2026-06-16T08:24:18.5221924Z             }
2026-06-16T08:24:18.5222001Z           ]
2026-06-16T08:24:18.5222078Z         },
2026-06-16T08:24:18.5222159Z         "int": {
2026-06-16T08:24:18.5222258Z           "complete": false,
2026-06-16T08:24:18.5222339Z           "evidence": []
2026-06-16T08:24:18.5222420Z         },
2026-06-16T08:24:18.5222501Z         "unit": {
2026-06-16T08:24:18.5222596Z           "complete": true,
2026-06-16T08:24:18.5222693Z           "evidence": [
2026-06-16T08:24:18.5222788Z             {
2026-06-16T08:24:18.5222916Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5223003Z               "line": 314
2026-06-16T08:24:18.5223097Z             },
2026-06-16T08:24:18.5223192Z             {
2026-06-16T08:24:18.5223293Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5223426Z               "line": 7018
2026-06-16T08:24:18.5223521Z             }
2026-06-16T08:24:18.5223599Z           ]
2026-06-16T08:24:18.5223685Z         }
2026-06-16T08:24:18.5223769Z       }
2026-06-16T08:24:18.5223865Z     },
2026-06-16T08:24:18.5223937Z     {
2026-06-16T08:24:18.5224027Z       "id": "REQ-DAEMON-8",
2026-06-16T08:24:18.5225016Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-16T08:24:18.5225125Z       "requiredStages": [
2026-06-16T08:24:18.5225216Z         "impl",
2026-06-16T08:24:18.5225302Z         "unit"
2026-06-16T08:24:18.5225392Z       ],
2026-06-16T08:24:18.5225473Z       "stages": {
2026-06-16T08:24:18.5225550Z         "doc": {
2026-06-16T08:24:18.5225649Z           "complete": false,
2026-06-16T08:24:18.5225740Z           "evidence": []
2026-06-16T08:24:18.5225821Z         },
2026-06-16T08:24:18.5225903Z         "impl": {
2026-06-16T08:24:18.5225993Z           "complete": true,
2026-06-16T08:24:18.5226074Z           "evidence": [
2026-06-16T08:24:18.5226170Z             {
2026-06-16T08:24:18.5226288Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5226388Z               "line": 413
2026-06-16T08:24:18.5226461Z             },
2026-06-16T08:24:18.5226547Z             {
2026-06-16T08:24:18.5226660Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5226871Z               "line": 56
2026-06-16T08:24:18.5226960Z             }
2026-06-16T08:24:18.5227040Z           ]
2026-06-16T08:24:18.5227126Z         },
2026-06-16T08:24:18.5227204Z         "int": {
2026-06-16T08:24:18.5227393Z           "complete": false,
2026-06-16T08:24:18.5227490Z           "evidence": []
2026-06-16T08:24:18.5227571Z         },
2026-06-16T08:24:18.5227651Z         "unit": {
2026-06-16T08:24:18.5227742Z           "complete": true,
2026-06-16T08:24:18.5227833Z           "evidence": [
2026-06-16T08:24:18.5227914Z             {
2026-06-16T08:24:18.5228037Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5228134Z               "line": 288
2026-06-16T08:24:18.5228210Z             },
2026-06-16T08:24:18.5228299Z             {
2026-06-16T08:24:18.5228410Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T08:24:18.5228505Z               "line": 325
2026-06-16T08:24:18.5228586Z             }
2026-06-16T08:24:18.5228671Z           ]
2026-06-16T08:24:18.5228745Z         }
2026-06-16T08:24:18.5228825Z       }
2026-06-16T08:24:18.5228905Z     },
2026-06-16T08:24:18.5229064Z     {
2026-06-16T08:24:18.5229163Z       "id": "REQ-DAEMON-9",
2026-06-16T08:24:18.5235276Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-16T08:24:18.5235423Z       "requiredStages": [
2026-06-16T08:24:18.5235510Z         "impl",
2026-06-16T08:24:18.5235595Z         "unit"
2026-06-16T08:24:18.5235670Z       ],
2026-06-16T08:24:18.5235767Z       "stages": {
2026-06-16T08:24:18.5235848Z         "doc": {
2026-06-16T08:24:18.5235952Z           "complete": false,
2026-06-16T08:24:18.5236047Z           "evidence": []
2026-06-16T08:24:18.5236125Z         },
2026-06-16T08:24:18.5236209Z         "impl": {
2026-06-16T08:24:18.5236300Z           "complete": true,
2026-06-16T08:24:18.5236386Z           "evidence": [
2026-06-16T08:24:18.5236473Z             {
2026-06-16T08:24:18.5236610Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5236706Z               "line": 276
2026-06-16T08:24:18.5236783Z             },
2026-06-16T08:24:18.5236872Z             {
2026-06-16T08:24:18.5236996Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5237098Z               "line": 600
2026-06-16T08:24:18.5237182Z             },
2026-06-16T08:24:18.5237268Z             {
2026-06-16T08:24:18.5237384Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5237464Z               "line": 192
2026-06-16T08:24:18.5237558Z             },
2026-06-16T08:24:18.5237629Z             {
2026-06-16T08:24:18.5237759Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5237849Z               "line": 312
2026-06-16T08:24:18.5237934Z             },
2026-06-16T08:24:18.5238016Z             {
2026-06-16T08:24:18.5238131Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5238225Z               "line": 349
2026-06-16T08:24:18.5238302Z             },
2026-06-16T08:24:18.5238393Z             {
2026-06-16T08:24:18.5238507Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5238583Z               "line": 1864
2026-06-16T08:24:18.5238670Z             }
2026-06-16T08:24:18.5238755Z           ]
2026-06-16T08:24:18.5239056Z         },
2026-06-16T08:24:18.5239136Z         "int": {
2026-06-16T08:24:18.5239236Z           "complete": false,
2026-06-16T08:24:18.5239333Z           "evidence": []
2026-06-16T08:24:18.5239413Z         },
2026-06-16T08:24:18.5239494Z         "unit": {
2026-06-16T08:24:18.5239676Z           "complete": true,
2026-06-16T08:24:18.5239775Z           "evidence": [
2026-06-16T08:24:18.5239850Z             {
2026-06-16T08:24:18.5239970Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5240064Z               "line": 760
2026-06-16T08:24:18.5240139Z             },
2026-06-16T08:24:18.5240225Z             {
2026-06-16T08:24:18.5240321Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5240406Z               "line": 9389
2026-06-16T08:24:18.5240487Z             }
2026-06-16T08:24:18.5240568Z           ]
2026-06-16T08:24:18.5240645Z         }
2026-06-16T08:24:18.5240726Z       }
2026-06-16T08:24:18.5240806Z     },
2026-06-16T08:24:18.5240893Z     {
2026-06-16T08:24:18.5240988Z       "id": "REQ-DOCS-1",
2026-06-16T08:24:18.5241184Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-16T08:24:18.5241284Z       "requiredStages": [
2026-06-16T08:24:18.5241370Z         "doc",
2026-06-16T08:24:18.5241455Z         "impl"
2026-06-16T08:24:18.5241542Z       ],
2026-06-16T08:24:18.5241627Z       "stages": {
2026-06-16T08:24:18.5241717Z         "doc": {
2026-06-16T08:24:18.5241808Z           "complete": true,
2026-06-16T08:24:18.5241899Z           "evidence": [
2026-06-16T08:24:18.5241994Z             {
2026-06-16T08:24:18.5242098Z               "path": "docs-site/src/index.md",
2026-06-16T08:24:18.5242191Z               "line": 50
2026-06-16T08:24:18.5242271Z             }
2026-06-16T08:24:18.5242356Z           ]
2026-06-16T08:24:18.5242438Z         },
2026-06-16T08:24:18.5242524Z         "impl": {
2026-06-16T08:24:18.5242619Z           "complete": true,
2026-06-16T08:24:18.5242703Z           "evidence": [
2026-06-16T08:24:18.5242789Z             {
2026-06-16T08:24:18.5242922Z               "path": ".github/workflows/docs-publish.yml",
2026-06-16T08:24:18.5243002Z               "line": 12
2026-06-16T08:24:18.5243077Z             },
2026-06-16T08:24:18.5243159Z             {
2026-06-16T08:24:18.5243288Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.5243368Z               "line": 14
2026-06-16T08:24:18.5243450Z             }
2026-06-16T08:24:18.5243532Z           ]
2026-06-16T08:24:18.5243626Z         },
2026-06-16T08:24:18.5243726Z         "int": {
2026-06-16T08:24:18.5243846Z           "complete": false,
2026-06-16T08:24:18.5243937Z           "evidence": []
2026-06-16T08:24:18.5244012Z         },
2026-06-16T08:24:18.5244094Z         "unit": {
2026-06-16T08:24:18.5244185Z           "complete": false,
2026-06-16T08:24:18.5244266Z           "evidence": []
2026-06-16T08:24:18.5244341Z         }
2026-06-16T08:24:18.5244428Z       }
2026-06-16T08:24:18.5244518Z     },
2026-06-16T08:24:18.5244604Z     {
2026-06-16T08:24:18.5244699Z       "id": "REQ-DOCS-2",
2026-06-16T08:24:18.5244857Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-16T08:24:18.5244956Z       "requiredStages": [
2026-06-16T08:24:18.5245039Z         "doc",
2026-06-16T08:24:18.5245129Z         "int"
2026-06-16T08:24:18.5245209Z       ],
2026-06-16T08:24:18.5245289Z       "stages": {
2026-06-16T08:24:18.5245370Z         "doc": {
2026-06-16T08:24:18.5245451Z           "complete": true,
2026-06-16T08:24:18.5245549Z           "evidence": [
2026-06-16T08:24:18.5245630Z             {
2026-06-16T08:24:18.5245813Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-16T08:24:18.5245906Z               "line": 3
2026-06-16T08:24:18.5245992Z             },
2026-06-16T08:24:18.5246079Z             {
2026-06-16T08:24:18.5246207Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-16T08:24:18.5246332Z               "line": 3
2026-06-16T08:24:18.5246427Z             },
2026-06-16T08:24:18.5246627Z             {
2026-06-16T08:24:18.5246765Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-16T08:24:18.5246846Z               "line": 3
2026-06-16T08:24:18.5246927Z             }
2026-06-16T08:24:18.5247009Z           ]
2026-06-16T08:24:18.5247166Z         },
2026-06-16T08:24:18.5247242Z         "impl": {
2026-06-16T08:24:18.5247343Z           "complete": false,
2026-06-16T08:24:18.5247437Z           "evidence": []
2026-06-16T08:24:18.5247518Z         },
2026-06-16T08:24:18.5247606Z         "int": {
2026-06-16T08:24:18.5247687Z           "complete": true,
2026-06-16T08:24:18.5247780Z           "evidence": [
2026-06-16T08:24:18.5247862Z             {
2026-06-16T08:24:18.5247982Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T08:24:18.5248066Z               "line": 14
2026-06-16T08:24:18.5248137Z             }
2026-06-16T08:24:18.5248218Z           ]
2026-06-16T08:24:18.5248300Z         },
2026-06-16T08:24:18.5248386Z         "unit": {
2026-06-16T08:24:18.5248480Z           "complete": false,
2026-06-16T08:24:18.5248571Z           "evidence": []
2026-06-16T08:24:18.5248648Z         }
2026-06-16T08:24:18.5248729Z       }
2026-06-16T08:24:18.5248814Z     },
2026-06-16T08:24:18.5248891Z     {
2026-06-16T08:24:18.5249067Z       "id": "REQ-DOCS-3",
2026-06-16T08:24:18.5249301Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-16T08:24:18.5249401Z       "requiredStages": [
2026-06-16T08:24:18.5249481Z         "doc"
2026-06-16T08:24:18.5249564Z       ],
2026-06-16T08:24:18.5249658Z       "stages": {
2026-06-16T08:24:18.5249734Z         "doc": {
2026-06-16T08:24:18.5249821Z           "complete": true,
2026-06-16T08:24:18.5249903Z           "evidence": [
2026-06-16T08:24:18.5249982Z             {
2026-06-16T08:24:18.5250092Z               "path": "docs-site/src/index.md",
2026-06-16T08:24:18.5250174Z               "line": 42
2026-06-16T08:24:18.5250264Z             }
2026-06-16T08:24:18.5250340Z           ]
2026-06-16T08:24:18.5250425Z         },
2026-06-16T08:24:18.5250506Z         "impl": {
2026-06-16T08:24:18.5250605Z           "complete": false,
2026-06-16T08:24:18.5250690Z           "evidence": []
2026-06-16T08:24:18.5250775Z         },
2026-06-16T08:24:18.5250862Z         "int": {
2026-06-16T08:24:18.5250957Z           "complete": false,
2026-06-16T08:24:18.5251047Z           "evidence": []
2026-06-16T08:24:18.5251128Z         },
2026-06-16T08:24:18.5251215Z         "unit": {
2026-06-16T08:24:18.5251305Z           "complete": false,
2026-06-16T08:24:18.5251395Z           "evidence": []
2026-06-16T08:24:18.5251473Z         }
2026-06-16T08:24:18.5251553Z       }
2026-06-16T08:24:18.5251638Z     },
2026-06-16T08:24:18.5251719Z     {
2026-06-16T08:24:18.5251816Z       "id": "REQ-DOCS-4",
2026-06-16T08:24:18.5252010Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-16T08:24:18.5252102Z       "requiredStages": [
2026-06-16T08:24:18.5252187Z         "doc",
2026-06-16T08:24:18.5252273Z         "impl",
2026-06-16T08:24:18.5252353Z         "unit"
2026-06-16T08:24:18.5252432Z       ],
2026-06-16T08:24:18.5252511Z       "stages": {
2026-06-16T08:24:18.5252597Z         "doc": {
2026-06-16T08:24:18.5252688Z           "complete": true,
2026-06-16T08:24:18.5252775Z           "evidence": [
2026-06-16T08:24:18.5252854Z             {
2026-06-16T08:24:18.5252960Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-16T08:24:18.5253041Z               "line": 35
2026-06-16T08:24:18.5253123Z             }
2026-06-16T08:24:18.5253197Z           ]
2026-06-16T08:24:18.5253301Z         },
2026-06-16T08:24:18.5253416Z         "impl": {
2026-06-16T08:24:18.5253510Z           "complete": true,
2026-06-16T08:24:18.5253599Z           "evidence": [
2026-06-16T08:24:18.5253681Z             {
2026-06-16T08:24:18.5253810Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5253891Z               "line": 671
2026-06-16T08:24:18.5253976Z             },
2026-06-16T08:24:18.5254053Z             {
2026-06-16T08:24:18.5254262Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.5254359Z               "line": 15
2026-06-16T08:24:18.5254435Z             }
2026-06-16T08:24:18.5254520Z           ]
2026-06-16T08:24:18.5254591Z         },
2026-06-16T08:24:18.5254763Z         "int": {
2026-06-16T08:24:18.5254854Z           "complete": false,
2026-06-16T08:24:18.5254945Z           "evidence": []
2026-06-16T08:24:18.5255022Z         },
2026-06-16T08:24:18.5255102Z         "unit": {
2026-06-16T08:24:18.5255192Z           "complete": true,
2026-06-16T08:24:18.5255269Z           "evidence": [
2026-06-16T08:24:18.5255360Z             {
2026-06-16T08:24:18.5255483Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5255565Z               "line": 1377
2026-06-16T08:24:18.5255651Z             }
2026-06-16T08:24:18.5255736Z           ]
2026-06-16T08:24:18.5258855Z         }
2026-06-16T08:24:18.5259031Z       }
2026-06-16T08:24:18.5259117Z     },
2026-06-16T08:24:18.5259218Z     {
2026-06-16T08:24:18.5259312Z       "id": "REQ-DOCS-5",
2026-06-16T08:24:18.5259518Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-16T08:24:18.5259618Z       "requiredStages": [
2026-06-16T08:24:18.5259703Z         "impl",
2026-06-16T08:24:18.5259790Z         "int"
2026-06-16T08:24:18.5259866Z       ],
2026-06-16T08:24:18.5259952Z       "stages": {
2026-06-16T08:24:18.5260033Z         "doc": {
2026-06-16T08:24:18.5260129Z           "complete": false,
2026-06-16T08:24:18.5260209Z           "evidence": []
2026-06-16T08:24:18.5260290Z         },
2026-06-16T08:24:18.5260371Z         "impl": {
2026-06-16T08:24:18.5260468Z           "complete": true,
2026-06-16T08:24:18.5260556Z           "evidence": [
2026-06-16T08:24:18.5260638Z             {
2026-06-16T08:24:18.5260773Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5260857Z               "line": 672
2026-06-16T08:24:18.5260943Z             },
2026-06-16T08:24:18.5261023Z             {
2026-06-16T08:24:18.5261133Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.5261226Z               "line": 113
2026-06-16T08:24:18.5261302Z             }
2026-06-16T08:24:18.5261393Z           ]
2026-06-16T08:24:18.5261475Z         },
2026-06-16T08:24:18.5261560Z         "int": {
2026-06-16T08:24:18.5261650Z           "complete": true,
2026-06-16T08:24:18.5261742Z           "evidence": [
2026-06-16T08:24:18.5261827Z             {
2026-06-16T08:24:18.5261927Z               "path": ".github/workflows/ci.yml",
2026-06-16T08:24:18.5262008Z               "line": 126
2026-06-16T08:24:18.5262094Z             },
2026-06-16T08:24:18.5262170Z             {
2026-06-16T08:24:18.5262289Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5262381Z               "line": 1414
2026-06-16T08:24:18.5262461Z             }
2026-06-16T08:24:18.5262542Z           ]
2026-06-16T08:24:18.5262623Z         },
2026-06-16T08:24:18.5262710Z         "unit": {
2026-06-16T08:24:18.5262814Z           "complete": false,
2026-06-16T08:24:18.5262895Z           "evidence": []
2026-06-16T08:24:18.5262977Z         }
2026-06-16T08:24:18.5263057Z       }
2026-06-16T08:24:18.5263138Z     },
2026-06-16T08:24:18.5263219Z     {
2026-06-16T08:24:18.5263306Z       "id": "REQ-DOCS-6",
2026-06-16T08:24:18.5263631Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-16T08:24:18.5263720Z       "requiredStages": [
2026-06-16T08:24:18.5263800Z         "impl",
2026-06-16T08:24:18.5263885Z         "unit",
2026-06-16T08:24:18.5263962Z         "int"
2026-06-16T08:24:18.5264046Z       ],
2026-06-16T08:24:18.5264127Z       "stages": {
2026-06-16T08:24:18.5264207Z         "doc": {
2026-06-16T08:24:18.5264289Z           "complete": true,
2026-06-16T08:24:18.5264380Z           "evidence": [
2026-06-16T08:24:18.5264460Z             {
2026-06-16T08:24:18.5264585Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-16T08:24:18.5264813Z               "line": 4
2026-06-16T08:24:18.5264890Z             }
2026-06-16T08:24:18.5264976Z           ]
2026-06-16T08:24:18.5265052Z         },
2026-06-16T08:24:18.5265141Z         "impl": {
2026-06-16T08:24:18.5265239Z           "complete": true,
2026-06-16T08:24:18.5265443Z           "evidence": [
2026-06-16T08:24:18.5265534Z             {
2026-06-16T08:24:18.5265638Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5265729Z               "line": 4870
2026-06-16T08:24:18.5265805Z             }
2026-06-16T08:24:18.5265892Z           ]
2026-06-16T08:24:18.5265972Z         },
2026-06-16T08:24:18.5266058Z         "int": {
2026-06-16T08:24:18.5266149Z           "complete": true,
2026-06-16T08:24:18.5266240Z           "evidence": [
2026-06-16T08:24:18.5266320Z             {
2026-06-16T08:24:18.5266438Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T08:24:18.5266533Z               "line": 39
2026-06-16T08:24:18.5266623Z             }
2026-06-16T08:24:18.5266707Z           ]
2026-06-16T08:24:18.5266798Z         },
2026-06-16T08:24:18.5266880Z         "unit": {
2026-06-16T08:24:18.5266966Z           "complete": true,
2026-06-16T08:24:18.5267041Z           "evidence": [
2026-06-16T08:24:18.5267122Z             {
2026-06-16T08:24:18.5267228Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5267304Z               "line": 9551
2026-06-16T08:24:18.5267384Z             }
2026-06-16T08:24:18.5267467Z           ]
2026-06-16T08:24:18.5267547Z         }
2026-06-16T08:24:18.5267628Z       }
2026-06-16T08:24:18.5267713Z     },
2026-06-16T08:24:18.5267795Z     {
2026-06-16T08:24:18.5267890Z       "id": "REQ-ELEVATE-1",
2026-06-16T08:24:18.5271255Z       "title": "Cross-platform self-elevating re-launch for privilege-gated commands: a pure decision seam `decide_elevation_path(os, elevation, interactive_tty, has_display, has_pkexec, has_term_emulator) -> ElevatePath{AlreadyElevated, InlineSudo, UacWindow, Pkexec, TerminalEmulator, PrintHint}` selecting how to re-acquire privilege, and the per-OS impure launchers it dispatches — Windows UAC console (ShellExecuteW `runas` on the abs-exe + verbatim argv; the elevated child does the work, prints 'You can close this window', and pauses for a keypress; the original prints 'Elevated terminal launched…' and exits 0; NEVER pipes the child's stdout back across the privilege boundary), Linux desktop pkexec (preferred, native polkit GUI auth) else x-terminal-emulator -e sudo (fallback list x-terminal-emulator→gnome-terminal→konsole→xterm), the existing interactive-TTY inline sudo, and the headless/no-path floor that prints the absolute-path command. Reused by every gated command (not subnet-specific). Generalizes should_auto_elevate.",
2026-06-16T08:24:18.5271380Z       "requiredStages": [
2026-06-16T08:24:18.5271450Z         "doc",
2026-06-16T08:24:18.5271540Z         "impl",
2026-06-16T08:24:18.5271626Z         "unit"
2026-06-16T08:24:18.5271707Z       ],
2026-06-16T08:24:18.5271791Z       "stages": {
2026-06-16T08:24:18.5271910Z         "doc": {
2026-06-16T08:24:18.5272011Z           "complete": true,
2026-06-16T08:24:18.5272105Z           "evidence": [
2026-06-16T08:24:18.5272186Z             {
2026-06-16T08:24:18.5272287Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5272368Z               "line": 632
2026-06-16T08:24:18.5272453Z             }
2026-06-16T08:24:18.5272534Z           ]
2026-06-16T08:24:18.5272617Z         },
2026-06-16T08:24:18.5272702Z         "impl": {
2026-06-16T08:24:18.5272792Z           "complete": true,
2026-06-16T08:24:18.5272879Z           "evidence": [
2026-06-16T08:24:18.5272960Z             {
2026-06-16T08:24:18.5273073Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5273154Z               "line": 3258
2026-06-16T08:24:18.5273241Z             },
2026-06-16T08:24:18.5273317Z             {
2026-06-16T08:24:18.5273417Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5273503Z               "line": 3303
2026-06-16T08:24:18.5273585Z             },
2026-06-16T08:24:18.5273779Z             {
2026-06-16T08:24:18.5273876Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5273965Z               "line": 3365
2026-06-16T08:24:18.5274041Z             },
2026-06-16T08:24:18.5274118Z             {
2026-06-16T08:24:18.5274341Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5274417Z               "line": 92
2026-06-16T08:24:18.5274493Z             },
2026-06-16T08:24:18.5274579Z             {
2026-06-16T08:24:18.5274682Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5274772Z               "line": 148
2026-06-16T08:24:18.5274849Z             }
2026-06-16T08:24:18.5274931Z           ]
2026-06-16T08:24:18.5275015Z         },
2026-06-16T08:24:18.5275096Z         "int": {
2026-06-16T08:24:18.5275179Z           "complete": false,
2026-06-16T08:24:18.5275274Z           "evidence": []
2026-06-16T08:24:18.5275354Z         },
2026-06-16T08:24:18.5275440Z         "unit": {
2026-06-16T08:24:18.5275531Z           "complete": true,
2026-06-16T08:24:18.5275612Z           "evidence": [
2026-06-16T08:24:18.5275693Z             {
2026-06-16T08:24:18.5275794Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5275888Z               "line": 442
2026-06-16T08:24:18.5275974Z             },
2026-06-16T08:24:18.5276065Z             {
2026-06-16T08:24:18.5276175Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5276260Z               "line": 460
2026-06-16T08:24:18.5276346Z             }
2026-06-16T08:24:18.5276428Z           ]
2026-06-16T08:24:18.5276513Z         }
2026-06-16T08:24:18.5276594Z       }
2026-06-16T08:24:18.5276675Z     },
2026-06-16T08:24:18.5276758Z     {
2026-06-16T08:24:18.5276842Z       "id": "REQ-EP-1",
2026-06-16T08:24:18.5276974Z       "title": "Day-one endpoint types; open type system",
2026-06-16T08:24:18.5277070Z       "requiredStages": [
2026-06-16T08:24:18.5277150Z         "impl",
2026-06-16T08:24:18.5277230Z         "unit"
2026-06-16T08:24:18.5277324Z       ],
2026-06-16T08:24:18.5277402Z       "stages": {
2026-06-16T08:24:18.5277478Z         "doc": {
2026-06-16T08:24:18.5277564Z           "complete": false,
2026-06-16T08:24:18.5277644Z           "evidence": []
2026-06-16T08:24:18.5277726Z         },
2026-06-16T08:24:18.5277812Z         "impl": {
2026-06-16T08:24:18.5277907Z           "complete": true,
2026-06-16T08:24:18.5277988Z           "evidence": [
2026-06-16T08:24:18.5278055Z             {
2026-06-16T08:24:18.5278184Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5278263Z               "line": 77
2026-06-16T08:24:18.5278347Z             },
2026-06-16T08:24:18.5278427Z             {
2026-06-16T08:24:18.5278545Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5278636Z               "line": 94
2026-06-16T08:24:18.5278718Z             }
2026-06-16T08:24:18.5278798Z           ]
2026-06-16T08:24:18.5278879Z         },
2026-06-16T08:24:18.5279038Z         "int": {
2026-06-16T08:24:18.5279118Z           "complete": false,
2026-06-16T08:24:18.5279213Z           "evidence": []
2026-06-16T08:24:18.5279291Z         },
2026-06-16T08:24:18.5279376Z         "unit": {
2026-06-16T08:24:18.5279470Z           "complete": true,
2026-06-16T08:24:18.5279557Z           "evidence": [
2026-06-16T08:24:18.5279644Z             {
2026-06-16T08:24:18.5279756Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5279837Z               "line": 161
2026-06-16T08:24:18.5279918Z             },
2026-06-16T08:24:18.5279995Z             {
2026-06-16T08:24:18.5280118Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5280199Z               "line": 178
2026-06-16T08:24:18.5280276Z             }
2026-06-16T08:24:18.5280352Z           ]
2026-06-16T08:24:18.5280428Z         }
2026-06-16T08:24:18.5280509Z       }
2026-06-16T08:24:18.5280591Z     },
2026-06-16T08:24:18.5280676Z     {
2026-06-16T08:24:18.5280762Z       "id": "REQ-EP-2",
2026-06-16T08:24:18.5280915Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-16T08:24:18.5281110Z       "requiredStages": [
2026-06-16T08:24:18.5281191Z         "impl",
2026-06-16T08:24:18.5281278Z         "unit"
2026-06-16T08:24:18.5281357Z       ],
2026-06-16T08:24:18.5281438Z       "stages": {
2026-06-16T08:24:18.5281607Z         "doc": {
2026-06-16T08:24:18.5281705Z           "complete": false,
2026-06-16T08:24:18.5281782Z           "evidence": []
2026-06-16T08:24:18.5281864Z         },
2026-06-16T08:24:18.5281945Z         "impl": {
2026-06-16T08:24:18.5282034Z           "complete": true,
2026-06-16T08:24:18.5282119Z           "evidence": [
2026-06-16T08:24:18.5282191Z             {
2026-06-16T08:24:18.5282309Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5282394Z               "line": 114
2026-06-16T08:24:18.5282480Z             },
2026-06-16T08:24:18.5282557Z             {
2026-06-16T08:24:18.5282670Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5282756Z               "line": 131
2026-06-16T08:24:18.5282837Z             },
2026-06-16T08:24:18.5282919Z             {
2026-06-16T08:24:18.5283023Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5283104Z               "line": 138
2026-06-16T08:24:18.5283196Z             }
2026-06-16T08:24:18.5283272Z           ]
2026-06-16T08:24:18.5283357Z         },
2026-06-16T08:24:18.5283439Z         "int": {
2026-06-16T08:24:18.5283534Z           "complete": false,
2026-06-16T08:24:18.5283620Z           "evidence": []
2026-06-16T08:24:18.5283700Z         },
2026-06-16T08:24:18.5283787Z         "unit": {
2026-06-16T08:24:18.5283868Z           "complete": true,
2026-06-16T08:24:18.5283958Z           "evidence": [
2026-06-16T08:24:18.5284044Z             {
2026-06-16T08:24:18.5284164Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5284243Z               "line": 190
2026-06-16T08:24:18.5284325Z             },
2026-06-16T08:24:18.5284403Z             {
2026-06-16T08:24:18.5284516Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5284607Z               "line": 208
2026-06-16T08:24:18.5284688Z             },
2026-06-16T08:24:18.5284765Z             {
2026-06-16T08:24:18.5284877Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T08:24:18.5284972Z               "line": 221
2026-06-16T08:24:18.5285058Z             }
2026-06-16T08:24:18.5285139Z           ]
2026-06-16T08:24:18.5285223Z         }
2026-06-16T08:24:18.5285304Z       }
2026-06-16T08:24:18.5285380Z     },
2026-06-16T08:24:18.5285462Z     {
2026-06-16T08:24:18.5285557Z       "id": "REQ-EP-3",
2026-06-16T08:24:18.5285739Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-16T08:24:18.5285834Z       "requiredStages": [
2026-06-16T08:24:18.5285924Z         "impl",
2026-06-16T08:24:18.5286005Z         "unit"
2026-06-16T08:24:18.5286091Z       ],
2026-06-16T08:24:18.5286172Z       "stages": {
2026-06-16T08:24:18.5286257Z         "doc": {
2026-06-16T08:24:18.5286359Z           "complete": false,
2026-06-16T08:24:18.5286448Z           "evidence": []
2026-06-16T08:24:18.5286524Z         },
2026-06-16T08:24:18.5286605Z         "impl": {
2026-06-16T08:24:18.5286698Z           "complete": true,
2026-06-16T08:24:18.5286787Z           "evidence": [
2026-06-16T08:24:18.5286863Z             {
2026-06-16T08:24:18.5286988Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5287073Z               "line": 31
2026-06-16T08:24:18.5287154Z             },
2026-06-16T08:24:18.5287230Z             {
2026-06-16T08:24:18.5287351Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5287430Z               "line": 49
2026-06-16T08:24:18.5287511Z             }
2026-06-16T08:24:18.5287592Z           ]
2026-06-16T08:24:18.5287673Z         },
2026-06-16T08:24:18.5287752Z         "int": {
2026-06-16T08:24:18.5287833Z           "complete": false,
2026-06-16T08:24:18.5287914Z           "evidence": []
2026-06-16T08:24:18.5288067Z         },
2026-06-16T08:24:18.5288142Z         "unit": {
2026-06-16T08:24:18.5288242Z           "complete": true,
2026-06-16T08:24:18.5288324Z           "evidence": [
2026-06-16T08:24:18.5288405Z             {
2026-06-16T08:24:18.5288519Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5288677Z               "line": 156
2026-06-16T08:24:18.5288758Z             },
2026-06-16T08:24:18.5288833Z             {
2026-06-16T08:24:18.5289030Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5289115Z               "line": 164
2026-06-16T08:24:18.5289201Z             },
2026-06-16T08:24:18.5289278Z             {
2026-06-16T08:24:18.5289387Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5289463Z               "line": 177
2026-06-16T08:24:18.5289541Z             },
2026-06-16T08:24:18.5289621Z             {
2026-06-16T08:24:18.5289735Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5289831Z               "line": 200
2026-06-16T08:24:18.5289913Z             },
2026-06-16T08:24:18.5289992Z             {
2026-06-16T08:24:18.5290102Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5290199Z               "line": 216
2026-06-16T08:24:18.5290288Z             },
2026-06-16T08:24:18.5290368Z             {
2026-06-16T08:24:18.5290482Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T08:24:18.5290565Z               "line": 233
2026-06-16T08:24:18.5290645Z             }
2026-06-16T08:24:18.5290720Z           ]
2026-06-16T08:24:18.5290797Z         }
2026-06-16T08:24:18.5290879Z       }
2026-06-16T08:24:18.5290960Z     },
2026-06-16T08:24:18.5291045Z     {
2026-06-16T08:24:18.5291122Z       "id": "REQ-EP-4",
2026-06-16T08:24:18.5291270Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-16T08:24:18.5291355Z       "requiredStages": [
2026-06-16T08:24:18.5291451Z         "impl",
2026-06-16T08:24:18.5291527Z         "unit"
2026-06-16T08:24:18.5291608Z       ],
2026-06-16T08:24:18.5291688Z       "stages": {
2026-06-16T08:24:18.5291771Z         "doc": {
2026-06-16T08:24:18.5291857Z           "complete": false,
2026-06-16T08:24:18.5291937Z           "evidence": []
2026-06-16T08:24:18.5292018Z         },
2026-06-16T08:24:18.5292115Z         "impl": {
2026-06-16T08:24:18.5292200Z           "complete": true,
2026-06-16T08:24:18.5292295Z           "evidence": [
2026-06-16T08:24:18.5292376Z             {
2026-06-16T08:24:18.5292491Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5292580Z               "line": 717
2026-06-16T08:24:18.5292670Z             },
2026-06-16T08:24:18.5292747Z             {
2026-06-16T08:24:18.5292851Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5292944Z               "line": 1048
2026-06-16T08:24:18.5293025Z             },
2026-06-16T08:24:18.5293117Z             {
2026-06-16T08:24:18.5293226Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5293321Z               "line": 1359
2026-06-16T08:24:18.5293398Z             },
2026-06-16T08:24:18.5293469Z             {
2026-06-16T08:24:18.5293583Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5293664Z               "line": 118
2026-06-16T08:24:18.5293747Z             },
2026-06-16T08:24:18.5293827Z             {
2026-06-16T08:24:18.5293931Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5294014Z               "line": 609
2026-06-16T08:24:18.5294094Z             },
2026-06-16T08:24:18.5294175Z             {
2026-06-16T08:24:18.5294280Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5294376Z               "line": 734
2026-06-16T08:24:18.5294456Z             },
2026-06-16T08:24:18.5294542Z             {
2026-06-16T08:24:18.5294667Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5294748Z               "line": 254
2026-06-16T08:24:18.5294833Z             },
2026-06-16T08:24:18.5294914Z             {
2026-06-16T08:24:18.5295142Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5295239Z               "line": 441
2026-06-16T08:24:18.5295320Z             },
2026-06-16T08:24:18.5295410Z             {
2026-06-16T08:24:18.5295519Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5295699Z               "line": 1164
2026-06-16T08:24:18.5295778Z             }
2026-06-16T08:24:18.5295859Z           ]
2026-06-16T08:24:18.5295945Z         },
2026-06-16T08:24:18.5296032Z         "int": {
2026-06-16T08:24:18.5296126Z           "complete": false,
2026-06-16T08:24:18.5296212Z           "evidence": []
2026-06-16T08:24:18.5296299Z         },
2026-06-16T08:24:18.5296380Z         "unit": {
2026-06-16T08:24:18.5296479Z           "complete": true,
2026-06-16T08:24:18.5296580Z           "evidence": [
2026-06-16T08:24:18.5296656Z             {
2026-06-16T08:24:18.5296770Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5296856Z               "line": 825
2026-06-16T08:24:18.5296948Z             },
2026-06-16T08:24:18.5297027Z             {
2026-06-16T08:24:18.5297156Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-16T08:24:18.5297239Z               "line": 76
2026-06-16T08:24:18.5297318Z             },
2026-06-16T08:24:18.5297399Z             {
2026-06-16T08:24:18.5297525Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-16T08:24:18.5297615Z               "line": 147
2026-06-16T08:24:18.5297699Z             }
2026-06-16T08:24:18.5297781Z           ]
2026-06-16T08:24:18.5297863Z         }
2026-06-16T08:24:18.5297948Z       }
2026-06-16T08:24:18.5298033Z     },
2026-06-16T08:24:18.5298118Z     {
2026-06-16T08:24:18.5298214Z       "id": "REQ-EP-5",
2026-06-16T08:24:18.5298870Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-16T08:24:18.5299041Z       "requiredStages": [
2026-06-16T08:24:18.5299122Z         "impl",
2026-06-16T08:24:18.5299204Z         "unit",
2026-06-16T08:24:18.5299285Z         "int"
2026-06-16T08:24:18.5299365Z       ],
2026-06-16T08:24:18.5299447Z       "stages": {
2026-06-16T08:24:18.5299528Z         "doc": {
2026-06-16T08:24:18.5299623Z           "complete": false,
2026-06-16T08:24:18.5299718Z           "evidence": []
2026-06-16T08:24:18.5299791Z         },
2026-06-16T08:24:18.5299876Z         "impl": {
2026-06-16T08:24:18.5299966Z           "complete": true,
2026-06-16T08:24:18.5300057Z           "evidence": [
2026-06-16T08:24:18.5300135Z             {
2026-06-16T08:24:18.5300271Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5300367Z               "line": 367
2026-06-16T08:24:18.5300445Z             },
2026-06-16T08:24:18.5300529Z             {
2026-06-16T08:24:18.5300648Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5300735Z               "line": 18
2026-06-16T08:24:18.5300820Z             },
2026-06-16T08:24:18.5300929Z             {
2026-06-16T08:24:18.5301042Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5301125Z               "line": 63
2026-06-16T08:24:18.5301215Z             },
2026-06-16T08:24:18.5301300Z             {
2026-06-16T08:24:18.5301420Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5301516Z               "line": 92
2026-06-16T08:24:18.5301596Z             },
2026-06-16T08:24:18.5301677Z             {
2026-06-16T08:24:18.5301792Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5301887Z               "line": 167
2026-06-16T08:24:18.5301968Z             },
2026-06-16T08:24:18.5302050Z             {
2026-06-16T08:24:18.5302173Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5302263Z               "line": 179
2026-06-16T08:24:18.5302346Z             },
2026-06-16T08:24:18.5302521Z             {
2026-06-16T08:24:18.5302641Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5302731Z               "line": 114
2026-06-16T08:24:18.5302807Z             },
2026-06-16T08:24:18.5302888Z             {
2026-06-16T08:24:18.5303102Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5303187Z               "line": 22
2026-06-16T08:24:18.5303273Z             },
2026-06-16T08:24:18.5303349Z             {
2026-06-16T08:24:18.5303467Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5303562Z               "line": 145
2026-06-16T08:24:18.5303643Z             },
2026-06-16T08:24:18.5303725Z             {
2026-06-16T08:24:18.5303843Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5303924Z               "line": 174
2026-06-16T08:24:18.5304002Z             },
2026-06-16T08:24:18.5304082Z             {
2026-06-16T08:24:18.5304200Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5304292Z               "line": 196
2026-06-16T08:24:18.5304373Z             },
2026-06-16T08:24:18.5304454Z             {
2026-06-16T08:24:18.5304574Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5304664Z               "line": 221
2026-06-16T08:24:18.5304745Z             },
2026-06-16T08:24:18.5304830Z             {
2026-06-16T08:24:18.5304945Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5305030Z               "line": 247
2026-06-16T08:24:18.5305107Z             },
2026-06-16T08:24:18.5305188Z             {
2026-06-16T08:24:18.5305312Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5305403Z               "line": 270
2026-06-16T08:24:18.5305479Z             },
2026-06-16T08:24:18.5305556Z             {
2026-06-16T08:24:18.5305669Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5305760Z               "line": 100
2026-06-16T08:24:18.5305833Z             },
2026-06-16T08:24:18.5305924Z             {
2026-06-16T08:24:18.5306035Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5306126Z               "line": 5405
2026-06-16T08:24:18.5306217Z             },
2026-06-16T08:24:18.5306297Z             {
2026-06-16T08:24:18.5306410Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5306496Z               "line": 5539
2026-06-16T08:24:18.5306582Z             },
2026-06-16T08:24:18.5306668Z             {
2026-06-16T08:24:18.5306767Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5306854Z               "line": 5705
2026-06-16T08:24:18.5306920Z             },
2026-06-16T08:24:18.5307010Z             {
2026-06-16T08:24:18.5307111Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5307198Z               "line": 6233
2026-06-16T08:24:18.5307288Z             }
2026-06-16T08:24:18.5307368Z           ]
2026-06-16T08:24:18.5307455Z         },
2026-06-16T08:24:18.5307536Z         "int": {
2026-06-16T08:24:18.5307636Z           "complete": true,
2026-06-16T08:24:18.5307717Z           "evidence": [
2026-06-16T08:24:18.5307794Z             {
2026-06-16T08:24:18.5307921Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T08:24:18.5308007Z               "line": 16
2026-06-16T08:24:18.5308099Z             },
2026-06-16T08:24:18.5308180Z             {
2026-06-16T08:24:18.5308293Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T08:24:18.5308375Z               "line": 15
2026-06-16T08:24:18.5308457Z             }
2026-06-16T08:24:18.5308541Z           ]
2026-06-16T08:24:18.5308622Z         },
2026-06-16T08:24:18.5308707Z         "unit": {
2026-06-16T08:24:18.5308798Z           "complete": true,
2026-06-16T08:24:18.5308891Z           "evidence": [
2026-06-16T08:24:18.5309039Z             {
2026-06-16T08:24:18.5309173Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5309262Z               "line": 246
2026-06-16T08:24:18.5309344Z             },
2026-06-16T08:24:18.5309516Z             {
2026-06-16T08:24:18.5309630Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5309722Z               "line": 306
2026-06-16T08:24:18.5309807Z             },
2026-06-16T08:24:18.5309887Z             {
2026-06-16T08:24:18.5310097Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T08:24:18.5310179Z               "line": 363
2026-06-16T08:24:18.5310264Z             },
2026-06-16T08:24:18.5310336Z             {
2026-06-16T08:24:18.5310455Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5310540Z               "line": 286
2026-06-16T08:24:18.5310627Z             },
2026-06-16T08:24:18.5310704Z             {
2026-06-16T08:24:18.5310817Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5310899Z               "line": 338
2026-06-16T08:24:18.5310980Z             },
2026-06-16T08:24:18.5311066Z             {
2026-06-16T08:24:18.5311180Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5311267Z               "line": 779
2026-06-16T08:24:18.5311357Z             },
2026-06-16T08:24:18.5311441Z             {
2026-06-16T08:24:18.5311540Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5311622Z               "line": 7577
2026-06-16T08:24:18.5311704Z             },
2026-06-16T08:24:18.5311779Z             {
2026-06-16T08:24:18.5311884Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5311971Z               "line": 7730
2026-06-16T08:24:18.5312052Z             },
2026-06-16T08:24:18.5312146Z             {
2026-06-16T08:24:18.5312233Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5312319Z               "line": 8319
2026-06-16T08:24:18.5312395Z             },
2026-06-16T08:24:18.5312485Z             {
2026-06-16T08:24:18.5312586Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5312671Z               "line": 8435
2026-06-16T08:24:18.5312766Z             }
2026-06-16T08:24:18.5312852Z           ]
2026-06-16T08:24:18.5312930Z         }
2026-06-16T08:24:18.5313010Z       }
2026-06-16T08:24:18.5313091Z     },
2026-06-16T08:24:18.5313167Z     {
2026-06-16T08:24:18.5313249Z       "id": "REQ-EP-6",
2026-06-16T08:24:18.5314722Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-16T08:24:18.5314833Z       "requiredStages": [
2026-06-16T08:24:18.5314919Z         "doc",
2026-06-16T08:24:18.5315009Z         "impl",
2026-06-16T08:24:18.5315095Z         "unit"
2026-06-16T08:24:18.5315176Z       ],
2026-06-16T08:24:18.5315257Z       "stages": {
2026-06-16T08:24:18.5315343Z         "doc": {
2026-06-16T08:24:18.5315433Z           "complete": true,
2026-06-16T08:24:18.5315515Z           "evidence": [
2026-06-16T08:24:18.5315595Z             {
2026-06-16T08:24:18.5315695Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5315788Z               "line": 208
2026-06-16T08:24:18.5315868Z             }
2026-06-16T08:24:18.5315943Z           ]
2026-06-16T08:24:18.5316063Z         },
2026-06-16T08:24:18.5316178Z         "impl": {
2026-06-16T08:24:18.5316272Z           "complete": true,
2026-06-16T08:24:18.5316364Z           "evidence": [
2026-06-16T08:24:18.5316455Z             {
2026-06-16T08:24:18.5316568Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5316667Z               "line": 166
2026-06-16T08:24:18.5316753Z             }
2026-06-16T08:24:18.5316833Z           ]
2026-06-16T08:24:18.5316922Z         },
2026-06-16T08:24:18.5317003Z         "int": {
2026-06-16T08:24:18.5317099Z           "complete": true,
2026-06-16T08:24:18.5317279Z           "evidence": [
2026-06-16T08:24:18.5317366Z             {
2026-06-16T08:24:18.5317495Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-16T08:24:18.5317585Z               "line": 18
2026-06-16T08:24:18.5317671Z             }
2026-06-16T08:24:18.5317753Z           ]
2026-06-16T08:24:18.5317918Z         },
2026-06-16T08:24:18.5318005Z         "unit": {
2026-06-16T08:24:18.5318101Z           "complete": true,
2026-06-16T08:24:18.5318196Z           "evidence": [
2026-06-16T08:24:18.5318277Z             {
2026-06-16T08:24:18.5318406Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.5318490Z               "line": 551
2026-06-16T08:24:18.5318577Z             },
2026-06-16T08:24:18.5318659Z             {
2026-06-16T08:24:18.5318777Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5318868Z               "line": 627
2026-06-16T08:24:18.5319027Z             }
2026-06-16T08:24:18.5319111Z           ]
2026-06-16T08:24:18.5319191Z         }
2026-06-16T08:24:18.5319287Z       }
2026-06-16T08:24:18.5319368Z     },
2026-06-16T08:24:18.5319451Z     {
2026-06-16T08:24:18.5319541Z       "id": "REQ-EP-7",
2026-06-16T08:24:18.5321207Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-16T08:24:18.5321316Z       "requiredStages": [
2026-06-16T08:24:18.5321397Z         "doc",
2026-06-16T08:24:18.5321487Z         "impl",
2026-06-16T08:24:18.5321565Z         "unit"
2026-06-16T08:24:18.5321645Z       ],
2026-06-16T08:24:18.5321726Z       "stages": {
2026-06-16T08:24:18.5321812Z         "doc": {
2026-06-16T08:24:18.5321913Z           "complete": true,
2026-06-16T08:24:18.5321992Z           "evidence": [
2026-06-16T08:24:18.5322078Z             {
2026-06-16T08:24:18.5322168Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5322259Z               "line": 435
2026-06-16T08:24:18.5322349Z             }
2026-06-16T08:24:18.5322430Z           ]
2026-06-16T08:24:18.5322511Z         },
2026-06-16T08:24:18.5322597Z         "impl": {
2026-06-16T08:24:18.5322687Z           "complete": true,
2026-06-16T08:24:18.5322778Z           "evidence": [
2026-06-16T08:24:18.5322865Z             {
2026-06-16T08:24:18.5322983Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5323069Z               "line": 505
2026-06-16T08:24:18.5323156Z             },
2026-06-16T08:24:18.5323236Z             {
2026-06-16T08:24:18.5323345Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.5323427Z               "line": 87
2026-06-16T08:24:18.5323504Z             },
2026-06-16T08:24:18.5323594Z             {
2026-06-16T08:24:18.5323722Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5323814Z               "line": 81
2026-06-16T08:24:18.5323889Z             },
2026-06-16T08:24:18.5323980Z             {
2026-06-16T08:24:18.5324100Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5324180Z               "line": 166
2026-06-16T08:24:18.5324256Z             },
2026-06-16T08:24:18.5324341Z             {
2026-06-16T08:24:18.5324446Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5324540Z               "line": 1490
2026-06-16T08:24:18.5324611Z             }
2026-06-16T08:24:18.5324691Z           ]
2026-06-16T08:24:18.5324778Z         },
2026-06-16T08:24:18.5324864Z         "int": {
2026-06-16T08:24:18.5324949Z           "complete": false,
2026-06-16T08:24:18.5325040Z           "evidence": []
2026-06-16T08:24:18.5325122Z         },
2026-06-16T08:24:18.5325216Z         "unit": {
2026-06-16T08:24:18.5325436Z           "complete": true,
2026-06-16T08:24:18.5325522Z           "evidence": [
2026-06-16T08:24:18.5325602Z             {
2026-06-16T08:24:18.5325713Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5325798Z               "line": 623
2026-06-16T08:24:18.5325974Z             },
2026-06-16T08:24:18.5326047Z             {
2026-06-16T08:24:18.5329356Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5329481Z               "line": 212
2026-06-16T08:24:18.5329572Z             },
2026-06-16T08:24:18.5329653Z             {
2026-06-16T08:24:18.5329780Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.5329871Z               "line": 307
2026-06-16T08:24:18.5329960Z             },
2026-06-16T08:24:18.5330068Z             {
2026-06-16T08:24:18.5330174Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5330269Z               "line": 6694
2026-06-16T08:24:18.5330345Z             },
2026-06-16T08:24:18.5330435Z             {
2026-06-16T08:24:18.5330541Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5330622Z               "line": 6721
2026-06-16T08:24:18.5330707Z             }
2026-06-16T08:24:18.5330793Z           ]
2026-06-16T08:24:18.5330884Z         }
2026-06-16T08:24:18.5330956Z       }
2026-06-16T08:24:18.5331040Z     },
2026-06-16T08:24:18.5331118Z     {
2026-06-16T08:24:18.5331218Z       "id": "REQ-FRONT-1",
2026-06-16T08:24:18.5331399Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-16T08:24:18.5331495Z       "requiredStages": [],
2026-06-16T08:24:18.5331575Z       "stages": {
2026-06-16T08:24:18.5331661Z         "doc": {
2026-06-16T08:24:18.5331762Z           "complete": false,
2026-06-16T08:24:18.5331848Z           "evidence": []
2026-06-16T08:24:18.5331918Z         },
2026-06-16T08:24:18.5331999Z         "impl": {
2026-06-16T08:24:18.5332082Z           "complete": false,
2026-06-16T08:24:18.5332172Z           "evidence": []
2026-06-16T08:24:18.5332256Z         },
2026-06-16T08:24:18.5332338Z         "int": {
2026-06-16T08:24:18.5332425Z           "complete": false,
2026-06-16T08:24:18.5332525Z           "evidence": []
2026-06-16T08:24:18.5332614Z         },
2026-06-16T08:24:18.5332689Z         "unit": {
2026-06-16T08:24:18.5332791Z           "complete": false,
2026-06-16T08:24:18.5332867Z           "evidence": []
2026-06-16T08:24:18.5332947Z         }
2026-06-16T08:24:18.5333033Z       }
2026-06-16T08:24:18.5333106Z     },
2026-06-16T08:24:18.5333192Z     {
2026-06-16T08:24:18.5333314Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-16T08:24:18.5335866Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-16T08:24:18.5335982Z       "requiredStages": [
2026-06-16T08:24:18.5336073Z         "doc",
2026-06-16T08:24:18.5336153Z         "impl",
2026-06-16T08:24:18.5336239Z         "unit",
2026-06-16T08:24:18.5336320Z         "int"
2026-06-16T08:24:18.5336406Z       ],
2026-06-16T08:24:18.5336491Z       "stages": {
2026-06-16T08:24:18.5336583Z         "doc": {
2026-06-16T08:24:18.5336673Z           "complete": true,
2026-06-16T08:24:18.5336763Z           "evidence": [
2026-06-16T08:24:18.5336849Z             {
2026-06-16T08:24:18.5336950Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5337184Z               "line": 326
2026-06-16T08:24:18.5337270Z             }
2026-06-16T08:24:18.5337349Z           ]
2026-06-16T08:24:18.5337426Z         },
2026-06-16T08:24:18.5337504Z         "impl": {
2026-06-16T08:24:18.5337693Z           "complete": true,
2026-06-16T08:24:18.5337773Z           "evidence": [
2026-06-16T08:24:18.5337849Z             {
2026-06-16T08:24:18.5337972Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5338053Z               "line": 494
2026-06-16T08:24:18.5338138Z             },
2026-06-16T08:24:18.5338215Z             {
2026-06-16T08:24:18.5338334Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5338414Z               "line": 499
2026-06-16T08:24:18.5338501Z             },
2026-06-16T08:24:18.5338578Z             {
2026-06-16T08:24:18.5338696Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5338777Z               "line": 874
2026-06-16T08:24:18.5338863Z             },
2026-06-16T08:24:18.5339048Z             {
2026-06-16T08:24:18.5339155Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5339249Z               "line": 915
2026-06-16T08:24:18.5339325Z             },
2026-06-16T08:24:18.5339411Z             {
2026-06-16T08:24:18.5339531Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5339607Z               "line": 926
2026-06-16T08:24:18.5339688Z             },
2026-06-16T08:24:18.5339770Z             {
2026-06-16T08:24:18.5339898Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.5339974Z               "line": 358
2026-06-16T08:24:18.5340056Z             }
2026-06-16T08:24:18.5340142Z           ]
2026-06-16T08:24:18.5340217Z         },
2026-06-16T08:24:18.5340302Z         "int": {
2026-06-16T08:24:18.5340397Z           "complete": true,
2026-06-16T08:24:18.5340488Z           "evidence": [
2026-06-16T08:24:18.5340567Z             {
2026-06-16T08:24:18.5340709Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-16T08:24:18.5340791Z               "line": 30
2026-06-16T08:24:18.5340868Z             }
2026-06-16T08:24:18.5340947Z           ]
2026-06-16T08:24:18.5341029Z         },
2026-06-16T08:24:18.5341121Z         "unit": {
2026-06-16T08:24:18.5341211Z           "complete": true,
2026-06-16T08:24:18.5341305Z           "evidence": [
2026-06-16T08:24:18.5341387Z             {
2026-06-16T08:24:18.5341506Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5341596Z               "line": 1467
2026-06-16T08:24:18.5341668Z             },
2026-06-16T08:24:18.5341755Z             {
2026-06-16T08:24:18.5341874Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5341973Z               "line": 1492
2026-06-16T08:24:18.5342060Z             },
2026-06-16T08:24:18.5342140Z             {
2026-06-16T08:24:18.5342264Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5342346Z               "line": 1509
2026-06-16T08:24:18.5342431Z             },
2026-06-16T08:24:18.5342502Z             {
2026-06-16T08:24:18.5342617Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5342699Z               "line": 1552
2026-06-16T08:24:18.5342784Z             }
2026-06-16T08:24:18.5342865Z           ]
2026-06-16T08:24:18.5342942Z         }
2026-06-16T08:24:18.5343014Z       }
2026-06-16T08:24:18.5343099Z     },
2026-06-16T08:24:18.5343183Z     {
2026-06-16T08:24:18.5343303Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-16T08:24:18.5345956Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-16T08:24:18.5346266Z       "requiredStages": [
2026-06-16T08:24:18.5346341Z         "doc",
2026-06-16T08:24:18.5346422Z         "impl",
2026-06-16T08:24:18.5346509Z         "unit",
2026-06-16T08:24:18.5346589Z         "int"
2026-06-16T08:24:18.5346675Z       ],
2026-06-16T08:24:18.5346756Z       "stages": {
2026-06-16T08:24:18.5346833Z         "doc": {
2026-06-16T08:24:18.5346928Z           "complete": true,
2026-06-16T08:24:18.5347004Z           "evidence": [
2026-06-16T08:24:18.5347090Z             {
2026-06-16T08:24:18.5347200Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5347295Z               "line": 295
2026-06-16T08:24:18.5347376Z             }
2026-06-16T08:24:18.5347453Z           ]
2026-06-16T08:24:18.5347534Z         },
2026-06-16T08:24:18.5347614Z         "impl": {
2026-06-16T08:24:18.5347705Z           "complete": true,
2026-06-16T08:24:18.5347802Z           "evidence": [
2026-06-16T08:24:18.5347877Z             {
2026-06-16T08:24:18.5348006Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.5348083Z               "line": 108
2026-06-16T08:24:18.5348168Z             },
2026-06-16T08:24:18.5348248Z             {
2026-06-16T08:24:18.5348366Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5348458Z               "line": 794
2026-06-16T08:24:18.5348541Z             },
2026-06-16T08:24:18.5348627Z             {
2026-06-16T08:24:18.5348741Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5348828Z               "line": 994
2026-06-16T08:24:18.5348908Z             },
2026-06-16T08:24:18.5349061Z             {
2026-06-16T08:24:18.5349185Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5349265Z               "line": 23
2026-06-16T08:24:18.5349342Z             },
2026-06-16T08:24:18.5349424Z             {
2026-06-16T08:24:18.5349552Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5349642Z               "line": 113
2026-06-16T08:24:18.5349720Z             },
2026-06-16T08:24:18.5349804Z             {
2026-06-16T08:24:18.5349919Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5350015Z               "line": 158
2026-06-16T08:24:18.5350091Z             },
2026-06-16T08:24:18.5350171Z             {
2026-06-16T08:24:18.5350291Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5350368Z               "line": 218
2026-06-16T08:24:18.5350453Z             },
2026-06-16T08:24:18.5350524Z             {
2026-06-16T08:24:18.5350645Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5350725Z               "line": 261
2026-06-16T08:24:18.5350815Z             },
2026-06-16T08:24:18.5350895Z             {
2026-06-16T08:24:18.5351010Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5351099Z               "line": 275
2026-06-16T08:24:18.5351179Z             },
2026-06-16T08:24:18.5351265Z             {
2026-06-16T08:24:18.5351385Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5351475Z               "line": 320
2026-06-16T08:24:18.5351555Z             },
2026-06-16T08:24:18.5351638Z             {
2026-06-16T08:24:18.5351752Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5351827Z               "line": 347
2026-06-16T08:24:18.5351909Z             },
2026-06-16T08:24:18.5351990Z             {
2026-06-16T08:24:18.5352109Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5352189Z               "line": 359
2026-06-16T08:24:18.5352376Z             },
2026-06-16T08:24:18.5352457Z             {
2026-06-16T08:24:18.5352572Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5352662Z               "line": 373
2026-06-16T08:24:18.5352739Z             },
2026-06-16T08:24:18.5352935Z             {
2026-06-16T08:24:18.5353043Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5353124Z               "line": 400
2026-06-16T08:24:18.5353212Z             },
2026-06-16T08:24:18.5353288Z             {
2026-06-16T08:24:18.5353406Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5353483Z               "line": 643
2026-06-16T08:24:18.5353564Z             },
2026-06-16T08:24:18.5353645Z             {
2026-06-16T08:24:18.5353758Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5353834Z               "line": 972
2026-06-16T08:24:18.5353911Z             },
2026-06-16T08:24:18.5353992Z             {
2026-06-16T08:24:18.5354120Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5354206Z               "line": 178
2026-06-16T08:24:18.5354287Z             },
2026-06-16T08:24:18.5354368Z             {
2026-06-16T08:24:18.5354488Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5354569Z               "line": 590
2026-06-16T08:24:18.5354650Z             },
2026-06-16T08:24:18.5354725Z             {
2026-06-16T08:24:18.5354846Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5354926Z               "line": 662
2026-06-16T08:24:18.5355007Z             },
2026-06-16T08:24:18.5355098Z             {
2026-06-16T08:24:18.5355199Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5355283Z               "line": 674
2026-06-16T08:24:18.5355364Z             },
2026-06-16T08:24:18.5355447Z             {
2026-06-16T08:24:18.5355561Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5355646Z               "line": 1084
2026-06-16T08:24:18.5355723Z             },
2026-06-16T08:24:18.5355805Z             {
2026-06-16T08:24:18.5355908Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5356003Z               "line": 183
2026-06-16T08:24:18.5356079Z             },
2026-06-16T08:24:18.5356155Z             {
2026-06-16T08:24:18.5356258Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5356348Z               "line": 260
2026-06-16T08:24:18.5356425Z             },
2026-06-16T08:24:18.5356506Z             {
2026-06-16T08:24:18.5356624Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5356701Z               "line": 271
2026-06-16T08:24:18.5356793Z             },
2026-06-16T08:24:18.5356874Z             {
2026-06-16T08:24:18.5356987Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5357074Z               "line": 297
2026-06-16T08:24:18.5357164Z             },
2026-06-16T08:24:18.5357244Z             {
2026-06-16T08:24:18.5357369Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5357464Z               "line": 56
2026-06-16T08:24:18.5357545Z             },
2026-06-16T08:24:18.5357621Z             {
2026-06-16T08:24:18.5357732Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5357836Z               "line": 188
2026-06-16T08:24:18.5357917Z             },
2026-06-16T08:24:18.5357999Z             {
2026-06-16T08:24:18.5358117Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T08:24:18.5358199Z               "line": 82
2026-06-16T08:24:18.5358275Z             },
2026-06-16T08:24:18.5358357Z             {
2026-06-16T08:24:18.5358465Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5358556Z               "line": 258
2026-06-16T08:24:18.5358634Z             },
2026-06-16T08:24:18.5358710Z             {
2026-06-16T08:24:18.5358822Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.5358912Z               "line": 424
2026-06-16T08:24:18.5359144Z             },
2026-06-16T08:24:18.5359224Z             {
2026-06-16T08:24:18.5359335Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5359417Z               "line": 1795
2026-06-16T08:24:18.5359492Z             }
2026-06-16T08:24:18.5359660Z           ]
2026-06-16T08:24:18.5359746Z         },
2026-06-16T08:24:18.5359830Z         "int": {
2026-06-16T08:24:18.5359922Z           "complete": true,
2026-06-16T08:24:18.5360003Z           "evidence": [
2026-06-16T08:24:18.5360079Z             {
2026-06-16T08:24:18.5360188Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T08:24:18.5360265Z               "line": 57
2026-06-16T08:24:18.5360346Z             },
2026-06-16T08:24:18.5360427Z             {
2026-06-16T08:24:18.5360541Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-16T08:24:18.5360614Z               "line": 41
2026-06-16T08:24:18.5360693Z             }
2026-06-16T08:24:18.5360779Z           ]
2026-06-16T08:24:18.5360866Z         },
2026-06-16T08:24:18.5360957Z         "unit": {
2026-06-16T08:24:18.5361046Z           "complete": true,
2026-06-16T08:24:18.5361123Z           "evidence": [
2026-06-16T08:24:18.5361214Z             {
2026-06-16T08:24:18.5361328Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.5361422Z               "line": 532
2026-06-16T08:24:18.5361503Z             },
2026-06-16T08:24:18.5361580Z             {
2026-06-16T08:24:18.5361696Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.5361777Z               "line": 755
2026-06-16T08:24:18.5361863Z             },
2026-06-16T08:24:18.5361940Z             {
2026-06-16T08:24:18.5362059Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5362145Z               "line": 1041
2026-06-16T08:24:18.5362226Z             },
2026-06-16T08:24:18.5362307Z             {
2026-06-16T08:24:18.5362420Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5362508Z               "line": 1075
2026-06-16T08:24:18.5362584Z             },
2026-06-16T08:24:18.5362655Z             {
2026-06-16T08:24:18.5362764Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5362851Z               "line": 1117
2026-06-16T08:24:18.5362931Z             },
2026-06-16T08:24:18.5363012Z             {
2026-06-16T08:24:18.5363132Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5363213Z               "line": 1189
2026-06-16T08:24:18.5363289Z             },
2026-06-16T08:24:18.5363370Z             {
2026-06-16T08:24:18.5363476Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5363556Z               "line": 1202
2026-06-16T08:24:18.5363637Z             },
2026-06-16T08:24:18.5363713Z             {
2026-06-16T08:24:18.5363819Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5363908Z               "line": 1225
2026-06-16T08:24:18.5363985Z             },
2026-06-16T08:24:18.5364067Z             {
2026-06-16T08:24:18.5364181Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5364261Z               "line": 1251
2026-06-16T08:24:18.5364346Z             },
2026-06-16T08:24:18.5364433Z             {
2026-06-16T08:24:18.5364552Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5364651Z               "line": 1265
2026-06-16T08:24:18.5364733Z             },
2026-06-16T08:24:18.5364815Z             {
2026-06-16T08:24:18.5364938Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5365028Z               "line": 1289
2026-06-16T08:24:18.5365105Z             },
2026-06-16T08:24:18.5365191Z             {
2026-06-16T08:24:18.5365304Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5365387Z               "line": 1421
2026-06-16T08:24:18.5365472Z             },
2026-06-16T08:24:18.5365553Z             {
2026-06-16T08:24:18.5365677Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5365853Z               "line": 1597
2026-06-16T08:24:18.5365934Z             },
2026-06-16T08:24:18.5366022Z             {
2026-06-16T08:24:18.5366135Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5366297Z               "line": 1652
2026-06-16T08:24:18.5366374Z             },
2026-06-16T08:24:18.5366463Z             {
2026-06-16T08:24:18.5366582Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5366677Z               "line": 1698
2026-06-16T08:24:18.5366762Z             },
2026-06-16T08:24:18.5366837Z             {
2026-06-16T08:24:18.5366956Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5367043Z               "line": 1743
2026-06-16T08:24:18.5367119Z             },
2026-06-16T08:24:18.5367199Z             {
2026-06-16T08:24:18.5367318Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5367404Z               "line": 1787
2026-06-16T08:24:18.5367490Z             },
2026-06-16T08:24:18.5367576Z             {
2026-06-16T08:24:18.5367691Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5367781Z               "line": 1829
2026-06-16T08:24:18.5367862Z             },
2026-06-16T08:24:18.5367953Z             {
2026-06-16T08:24:18.5368072Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5368148Z               "line": 1418
2026-06-16T08:24:18.5368234Z             },
2026-06-16T08:24:18.5368311Z             {
2026-06-16T08:24:18.5368430Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5368525Z               "line": 217
2026-06-16T08:24:18.5368597Z             },
2026-06-16T08:24:18.5368683Z             {
2026-06-16T08:24:18.5368791Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5368884Z               "line": 233
2026-06-16T08:24:18.5369039Z             },
2026-06-16T08:24:18.5369126Z             {
2026-06-16T08:24:18.5369232Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5369317Z               "line": 254
2026-06-16T08:24:18.5369401Z             },
2026-06-16T08:24:18.5369482Z             {
2026-06-16T08:24:18.5369597Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5369681Z               "line": 265
2026-06-16T08:24:18.5369761Z             },
2026-06-16T08:24:18.5369838Z             {
2026-06-16T08:24:18.5369957Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5370047Z               "line": 278
2026-06-16T08:24:18.5370133Z             },
2026-06-16T08:24:18.5370215Z             {
2026-06-16T08:24:18.5370329Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5370419Z               "line": 289
2026-06-16T08:24:18.5370501Z             },
2026-06-16T08:24:18.5370586Z             {
2026-06-16T08:24:18.5370700Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5370782Z               "line": 301
2026-06-16T08:24:18.5370869Z             },
2026-06-16T08:24:18.5370944Z             {
2026-06-16T08:24:18.5371063Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5371155Z               "line": 312
2026-06-16T08:24:18.5371225Z             },
2026-06-16T08:24:18.5371306Z             {
2026-06-16T08:24:18.5371421Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5371503Z               "line": 323
2026-06-16T08:24:18.5371582Z             },
2026-06-16T08:24:18.5371664Z             {
2026-06-16T08:24:18.5371784Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5371869Z               "line": 332
2026-06-16T08:24:18.5371959Z             },
2026-06-16T08:24:18.5372034Z             {
2026-06-16T08:24:18.5372149Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5372228Z               "line": 342
2026-06-16T08:24:18.5372304Z             },
2026-06-16T08:24:18.5372385Z             {
2026-06-16T08:24:18.5372590Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T08:24:18.5372685Z               "line": 358
2026-06-16T08:24:18.5372772Z             },
2026-06-16T08:24:18.5372867Z             {
2026-06-16T08:24:18.5372981Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5373153Z               "line": 708
2026-06-16T08:24:18.5373243Z             },
2026-06-16T08:24:18.5373319Z             {
2026-06-16T08:24:18.5373477Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5373582Z               "line": 744
2026-06-16T08:24:18.5373663Z             },
2026-06-16T08:24:18.5373750Z             {
2026-06-16T08:24:18.5373854Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.5373954Z               "line": 966
2026-06-16T08:24:18.5374027Z             },
2026-06-16T08:24:18.5374111Z             {
2026-06-16T08:24:18.5374212Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T08:24:18.5374308Z               "line": 143
2026-06-16T08:24:18.5374389Z             },
2026-06-16T08:24:18.5374468Z             {
2026-06-16T08:24:18.5374583Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T08:24:18.5374671Z               "line": 222
2026-06-16T08:24:18.5374760Z             },
2026-06-16T08:24:18.5374840Z             {
2026-06-16T08:24:18.5374954Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T08:24:18.5375041Z               "line": 291
2026-06-16T08:24:18.5375122Z             },
2026-06-16T08:24:18.5375202Z             {
2026-06-16T08:24:18.5375317Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-16T08:24:18.5375408Z               "line": 17
2026-06-16T08:24:18.5375488Z             },
2026-06-16T08:24:18.5375569Z             {
2026-06-16T08:24:18.5375689Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-16T08:24:18.5375775Z               "line": 104
2026-06-16T08:24:18.5375859Z             }
2026-06-16T08:24:18.5375937Z           ]
2026-06-16T08:24:18.5376028Z         }
2026-06-16T08:24:18.5376099Z       }
2026-06-16T08:24:18.5376179Z     },
2026-06-16T08:24:18.5376267Z     {
2026-06-16T08:24:18.5376375Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-16T08:24:18.5376552Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-16T08:24:18.5376652Z       "requiredStages": [
2026-06-16T08:24:18.5376742Z         "impl",
2026-06-16T08:24:18.5376818Z         "unit"
2026-06-16T08:24:18.5376906Z       ],
2026-06-16T08:24:18.5376996Z       "stages": {
2026-06-16T08:24:18.5377075Z         "doc": {
2026-06-16T08:24:18.5377170Z           "complete": false,
2026-06-16T08:24:18.5377251Z           "evidence": []
2026-06-16T08:24:18.5377332Z         },
2026-06-16T08:24:18.5377421Z         "impl": {
2026-06-16T08:24:18.5377516Z           "complete": true,
2026-06-16T08:24:18.5377598Z           "evidence": [
2026-06-16T08:24:18.5377679Z             {
2026-06-16T08:24:18.5377792Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5377874Z               "line": 168
2026-06-16T08:24:18.5377955Z             },
2026-06-16T08:24:18.5378027Z             {
2026-06-16T08:24:18.5378150Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5378252Z               "line": 18
2026-06-16T08:24:18.5378332Z             },
2026-06-16T08:24:18.5378422Z             {
2026-06-16T08:24:18.5378533Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5378622Z               "line": 100
2026-06-16T08:24:18.5378703Z             }
2026-06-16T08:24:18.5378789Z           ]
2026-06-16T08:24:18.5378871Z         },
2026-06-16T08:24:18.5379028Z         "int": {
2026-06-16T08:24:18.5379119Z           "complete": false,
2026-06-16T08:24:18.5379201Z           "evidence": []
2026-06-16T08:24:18.5379289Z         },
2026-06-16T08:24:18.5379366Z         "unit": {
2026-06-16T08:24:18.5379463Z           "complete": true,
2026-06-16T08:24:18.5379548Z           "evidence": [
2026-06-16T08:24:18.5379715Z             {
2026-06-16T08:24:18.5379835Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5379915Z               "line": 853
2026-06-16T08:24:18.5380004Z             },
2026-06-16T08:24:18.5380081Z             {
2026-06-16T08:24:18.5380194Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5380393Z               "line": 161
2026-06-16T08:24:18.5380475Z             },
2026-06-16T08:24:18.5380570Z             {
2026-06-16T08:24:18.5380669Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5380756Z               "line": 233
2026-06-16T08:24:18.5380827Z             }
2026-06-16T08:24:18.5380908Z           ]
2026-06-16T08:24:18.5380989Z         }
2026-06-16T08:24:18.5381071Z       }
2026-06-16T08:24:18.5381151Z     },
2026-06-16T08:24:18.5381237Z     {
2026-06-16T08:24:18.5381351Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-16T08:24:18.5381767Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-16T08:24:18.5381871Z       "requiredStages": [
2026-06-16T08:24:18.5381952Z         "impl",
2026-06-16T08:24:18.5382029Z         "unit"
2026-06-16T08:24:18.5382115Z       ],
2026-06-16T08:24:18.5382200Z       "stages": {
2026-06-16T08:24:18.5382277Z         "doc": {
2026-06-16T08:24:18.5382373Z           "complete": true,
2026-06-16T08:24:18.5382453Z           "evidence": [
2026-06-16T08:24:18.5382538Z             {
2026-06-16T08:24:18.5382643Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5382733Z               "line": 220
2026-06-16T08:24:18.5382812Z             }
2026-06-16T08:24:18.5382897Z           ]
2026-06-16T08:24:18.5382974Z         },
2026-06-16T08:24:18.5383060Z         "impl": {
2026-06-16T08:24:18.5383150Z           "complete": true,
2026-06-16T08:24:18.5383236Z           "evidence": [
2026-06-16T08:24:18.5383323Z             {
2026-06-16T08:24:18.5383432Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.5383532Z               "line": 311
2026-06-16T08:24:18.5383613Z             },
2026-06-16T08:24:18.5383694Z             {
2026-06-16T08:24:18.5383813Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5383894Z               "line": 257
2026-06-16T08:24:18.5383986Z             },
2026-06-16T08:24:18.5384066Z             {
2026-06-16T08:24:18.5384176Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5384272Z               "line": 405
2026-06-16T08:24:18.5384352Z             },
2026-06-16T08:24:18.5384438Z             {
2026-06-16T08:24:18.5384548Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5384644Z               "line": 77
2026-06-16T08:24:18.5384723Z             }
2026-06-16T08:24:18.5384805Z           ]
2026-06-16T08:24:18.5384887Z         },
2026-06-16T08:24:18.5384972Z         "int": {
2026-06-16T08:24:18.5385062Z           "complete": false,
2026-06-16T08:24:18.5385148Z           "evidence": []
2026-06-16T08:24:18.5385236Z         },
2026-06-16T08:24:18.5385315Z         "unit": {
2026-06-16T08:24:18.5385415Z           "complete": true,
2026-06-16T08:24:18.5385510Z           "evidence": [
2026-06-16T08:24:18.5385591Z             {
2026-06-16T08:24:18.5385705Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5385785Z               "line": 478
2026-06-16T08:24:18.5385872Z             },
2026-06-16T08:24:18.5385944Z             {
2026-06-16T08:24:18.5386067Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5386163Z               "line": 516
2026-06-16T08:24:18.5386240Z             },
2026-06-16T08:24:18.5386321Z             {
2026-06-16T08:24:18.5386434Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5386517Z               "line": 166
2026-06-16T08:24:18.5386602Z             }
2026-06-16T08:24:18.5386692Z           ]
2026-06-16T08:24:18.5386768Z         }
2026-06-16T08:24:18.5386917Z       }
2026-06-16T08:24:18.5387002Z     },
2026-06-16T08:24:18.5387078Z     {
2026-06-16T08:24:18.5387208Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-16T08:24:18.5387759Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-16T08:24:18.5387934Z       "requiredStages": [
2026-06-16T08:24:18.5388023Z         "impl",
2026-06-16T08:24:18.5388105Z         "unit"
2026-06-16T08:24:18.5388187Z       ],
2026-06-16T08:24:18.5388272Z       "stages": {
2026-06-16T08:24:18.5388352Z         "doc": {
2026-06-16T08:24:18.5388439Z           "complete": false,
2026-06-16T08:24:18.5388525Z           "evidence": []
2026-06-16T08:24:18.5388601Z         },
2026-06-16T08:24:18.5388677Z         "impl": {
2026-06-16T08:24:18.5388778Z           "complete": true,
2026-06-16T08:24:18.5388868Z           "evidence": [
2026-06-16T08:24:18.5389030Z             {
2026-06-16T08:24:18.5389145Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T08:24:18.5389221Z               "line": 22
2026-06-16T08:24:18.5389301Z             },
2026-06-16T08:24:18.5389379Z             {
2026-06-16T08:24:18.5389493Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5389579Z               "line": 487
2026-06-16T08:24:18.5389660Z             },
2026-06-16T08:24:18.5389741Z             {
2026-06-16T08:24:18.5389859Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T08:24:18.5389950Z               "line": 17
2026-06-16T08:24:18.5390037Z             },
2026-06-16T08:24:18.5390118Z             {
2026-06-16T08:24:18.5390232Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T08:24:18.5390314Z               "line": 147
2026-06-16T08:24:18.5390395Z             },
2026-06-16T08:24:18.5390475Z             {
2026-06-16T08:24:18.5390598Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5390688Z               "line": 226
2026-06-16T08:24:18.5390773Z             },
2026-06-16T08:24:18.5390853Z             {
2026-06-16T08:24:18.5390972Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5391063Z               "line": 251
2026-06-16T08:24:18.5391149Z             },
2026-06-16T08:24:18.5391234Z             {
2026-06-16T08:24:18.5391359Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5391440Z               "line": 277
2026-06-16T08:24:18.5391525Z             },
2026-06-16T08:24:18.5391602Z             {
2026-06-16T08:24:18.5391726Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.5391802Z               "line": 124
2026-06-16T08:24:18.5391892Z             },
2026-06-16T08:24:18.5391969Z             {
2026-06-16T08:24:18.5392093Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.5392183Z               "line": 224
2026-06-16T08:24:18.5392265Z             }
2026-06-16T08:24:18.5392346Z           ]
2026-06-16T08:24:18.5392426Z         },
2026-06-16T08:24:18.5392508Z         "int": {
2026-06-16T08:24:18.5392599Z           "complete": false,
2026-06-16T08:24:18.5392694Z           "evidence": []
2026-06-16T08:24:18.5392775Z         },
2026-06-16T08:24:18.5392856Z         "unit": {
2026-06-16T08:24:18.5392952Z           "complete": true,
2026-06-16T08:24:18.5393036Z           "evidence": [
2026-06-16T08:24:18.5393117Z             {
2026-06-16T08:24:18.5393231Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T08:24:18.5393326Z               "line": 63
2026-06-16T08:24:18.5393405Z             },
2026-06-16T08:24:18.5393486Z             {
2026-06-16T08:24:18.5393606Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T08:24:18.5393687Z               "line": 73
2026-06-16T08:24:18.5393772Z             },
2026-06-16T08:24:18.5393854Z             {
2026-06-16T08:24:18.5393973Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T08:24:18.5394154Z               "line": 85
2026-06-16T08:24:18.5394241Z             },
2026-06-16T08:24:18.5394322Z             {
2026-06-16T08:24:18.5394440Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.5394527Z               "line": 346
2026-06-16T08:24:18.5394702Z             },
2026-06-16T08:24:18.5394783Z             {
2026-06-16T08:24:18.5394898Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T08:24:18.5394989Z               "line": 281
2026-06-16T08:24:18.5395065Z             },
2026-06-16T08:24:18.5395142Z             {
2026-06-16T08:24:18.5395265Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T08:24:18.5395355Z               "line": 322
2026-06-16T08:24:18.5395433Z             },
2026-06-16T08:24:18.5395510Z             {
2026-06-16T08:24:18.5395617Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T08:24:18.5395704Z               "line": 360
2026-06-16T08:24:18.5395786Z             },
2026-06-16T08:24:18.5395876Z             {
2026-06-16T08:24:18.5398518Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5398646Z               "line": 688
2026-06-16T08:24:18.5398733Z             },
2026-06-16T08:24:18.5398808Z             {
2026-06-16T08:24:18.5399028Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.5399109Z               "line": 397
2026-06-16T08:24:18.5399190Z             },
2026-06-16T08:24:18.5399266Z             {
2026-06-16T08:24:18.5399390Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.5399471Z               "line": 440
2026-06-16T08:24:18.5399556Z             }
2026-06-16T08:24:18.5399634Z           ]
2026-06-16T08:24:18.5399715Z         }
2026-06-16T08:24:18.5399800Z       }
2026-06-16T08:24:18.5399871Z     },
2026-06-16T08:24:18.5399949Z     {
2026-06-16T08:24:18.5400048Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-16T08:24:18.5400259Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-16T08:24:18.5400367Z       "requiredStages": [
2026-06-16T08:24:18.5400449Z         "impl",
2026-06-16T08:24:18.5400530Z         "unit"
2026-06-16T08:24:18.5400607Z       ],
2026-06-16T08:24:18.5400701Z       "stages": {
2026-06-16T08:24:18.5400787Z         "doc": {
2026-06-16T08:24:18.5400883Z           "complete": false,
2026-06-16T08:24:18.5400965Z           "evidence": []
2026-06-16T08:24:18.5401035Z         },
2026-06-16T08:24:18.5401120Z         "impl": {
2026-06-16T08:24:18.5401215Z           "complete": true,
2026-06-16T08:24:18.5401300Z           "evidence": [
2026-06-16T08:24:18.5401399Z             {
2026-06-16T08:24:18.5401513Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T08:24:18.5401605Z               "line": 169
2026-06-16T08:24:18.5401685Z             }
2026-06-16T08:24:18.5401765Z           ]
2026-06-16T08:24:18.5401847Z         },
2026-06-16T08:24:18.5401924Z         "int": {
2026-06-16T08:24:18.5402014Z           "complete": true,
2026-06-16T08:24:18.5402104Z           "evidence": [
2026-06-16T08:24:18.5402186Z             {
2026-06-16T08:24:18.5402300Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-16T08:24:18.5402390Z               "line": 44
2026-06-16T08:24:18.5402467Z             },
2026-06-16T08:24:18.5402549Z             {
2026-06-16T08:24:18.5402658Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-16T08:24:18.5402738Z               "line": 66
2026-06-16T08:24:18.5402816Z             }
2026-06-16T08:24:18.5402892Z           ]
2026-06-16T08:24:18.5402976Z         },
2026-06-16T08:24:18.5403058Z         "unit": {
2026-06-16T08:24:18.5403155Z           "complete": true,
2026-06-16T08:24:18.5403235Z           "evidence": [
2026-06-16T08:24:18.5403320Z             {
2026-06-16T08:24:18.5403436Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T08:24:18.5403517Z               "line": 186
2026-06-16T08:24:18.5403606Z             },
2026-06-16T08:24:18.5403682Z             {
2026-06-16T08:24:18.5403919Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T08:24:18.5404008Z               "line": 238
2026-06-16T08:24:18.5404085Z             },
2026-06-16T08:24:18.5404167Z             {
2026-06-16T08:24:18.5404266Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T08:24:18.5404443Z               "line": 266
2026-06-16T08:24:18.5404528Z             }
2026-06-16T08:24:18.5404604Z           ]
2026-06-16T08:24:18.5404685Z         }
2026-06-16T08:24:18.5404767Z       }
2026-06-16T08:24:18.5404852Z     },
2026-06-16T08:24:18.5404924Z     {
2026-06-16T08:24:18.5405044Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-16T08:24:18.5405463Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-16T08:24:18.5405549Z       "requiredStages": [
2026-06-16T08:24:18.5405635Z         "impl",
2026-06-16T08:24:18.5405702Z         "unit",
2026-06-16T08:24:18.5405788Z         "int"
2026-06-16T08:24:18.5405868Z       ],
2026-06-16T08:24:18.5405959Z       "stages": {
2026-06-16T08:24:18.5406041Z         "doc": {
2026-06-16T08:24:18.5406140Z           "complete": false,
2026-06-16T08:24:18.5406235Z           "evidence": []
2026-06-16T08:24:18.5406318Z         },
2026-06-16T08:24:18.5406408Z         "impl": {
2026-06-16T08:24:18.5406501Z           "complete": true,
2026-06-16T08:24:18.5406591Z           "evidence": [
2026-06-16T08:24:18.5406673Z             {
2026-06-16T08:24:18.5406797Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5406882Z               "line": 152
2026-06-16T08:24:18.5406959Z             },
2026-06-16T08:24:18.5407036Z             {
2026-06-16T08:24:18.5407140Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5407221Z               "line": 176
2026-06-16T08:24:18.5407303Z             },
2026-06-16T08:24:18.5407379Z             {
2026-06-16T08:24:18.5407488Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.5407569Z               "line": 79
2026-06-16T08:24:18.5407651Z             },
2026-06-16T08:24:18.5407727Z             {
2026-06-16T08:24:18.5407850Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5407942Z               "line": 52
2026-06-16T08:24:18.5408018Z             },
2026-06-16T08:24:18.5408104Z             {
2026-06-16T08:24:18.5408203Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5408291Z               "line": 205
2026-06-16T08:24:18.5408370Z             },
2026-06-16T08:24:18.5408451Z             {
2026-06-16T08:24:18.5408567Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5408648Z               "line": 27
2026-06-16T08:24:18.5408723Z             },
2026-06-16T08:24:18.5408798Z             {
2026-06-16T08:24:18.5408918Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5409087Z               "line": 79
2026-06-16T08:24:18.5409177Z             },
2026-06-16T08:24:18.5409264Z             {
2026-06-16T08:24:18.5409368Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5409458Z               "line": 102
2026-06-16T08:24:18.5409530Z             },
2026-06-16T08:24:18.5409627Z             {
2026-06-16T08:24:18.5409740Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5409816Z               "line": 116
2026-06-16T08:24:18.5409898Z             }
2026-06-16T08:24:18.5409979Z           ]
2026-06-16T08:24:18.5410055Z         },
2026-06-16T08:24:18.5410136Z         "int": {
2026-06-16T08:24:18.5410232Z           "complete": true,
2026-06-16T08:24:18.5410313Z           "evidence": [
2026-06-16T08:24:18.5410398Z             {
2026-06-16T08:24:18.5410523Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-16T08:24:18.5410603Z               "line": 43
2026-06-16T08:24:18.5410684Z             }
2026-06-16T08:24:18.5410765Z           ]
2026-06-16T08:24:18.5410848Z         },
2026-06-16T08:24:18.5411047Z         "unit": {
2026-06-16T08:24:18.5411143Z           "complete": true,
2026-06-16T08:24:18.5411238Z           "evidence": [
2026-06-16T08:24:18.5411313Z             {
2026-06-16T08:24:18.5411438Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5411619Z               "line": 628
2026-06-16T08:24:18.5411698Z             },
2026-06-16T08:24:18.5411775Z             {
2026-06-16T08:24:18.5411888Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5411978Z               "line": 369
2026-06-16T08:24:18.5412059Z             },
2026-06-16T08:24:18.5412140Z             {
2026-06-16T08:24:18.5412259Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5412340Z               "line": 124
2026-06-16T08:24:18.5412422Z             },
2026-06-16T08:24:18.5412508Z             {
2026-06-16T08:24:18.5412626Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5412708Z               "line": 143
2026-06-16T08:24:18.5412789Z             },
2026-06-16T08:24:18.5412870Z             {
2026-06-16T08:24:18.5412983Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5413061Z               "line": 160
2026-06-16T08:24:18.5413151Z             },
2026-06-16T08:24:18.5413237Z             {
2026-06-16T08:24:18.5413347Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5413433Z               "line": 187
2026-06-16T08:24:18.5413513Z             },
2026-06-16T08:24:18.5413599Z             {
2026-06-16T08:24:18.5413706Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T08:24:18.5413791Z               "line": 206
2026-06-16T08:24:18.5413875Z             },
2026-06-16T08:24:18.5413957Z             {
2026-06-16T08:24:18.5414072Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5414152Z               "line": 229
2026-06-16T08:24:18.5414237Z             }
2026-06-16T08:24:18.5414323Z           ]
2026-06-16T08:24:18.5414404Z         }
2026-06-16T08:24:18.5414483Z       }
2026-06-16T08:24:18.5414563Z     },
2026-06-16T08:24:18.5414640Z     {
2026-06-16T08:24:18.5414755Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-16T08:24:18.5415403Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-16T08:24:18.5415498Z       "requiredStages": [
2026-06-16T08:24:18.5415579Z         "impl",
2026-06-16T08:24:18.5415661Z         "unit"
2026-06-16T08:24:18.5415741Z       ],
2026-06-16T08:24:18.5415822Z       "stages": {
2026-06-16T08:24:18.5415903Z         "doc": {
2026-06-16T08:24:18.5416000Z           "complete": false,
2026-06-16T08:24:18.5416090Z           "evidence": []
2026-06-16T08:24:18.5416170Z         },
2026-06-16T08:24:18.5416258Z         "impl": {
2026-06-16T08:24:18.5416348Z           "complete": true,
2026-06-16T08:24:18.5416438Z           "evidence": [
2026-06-16T08:24:18.5416509Z             {
2026-06-16T08:24:18.5416635Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5416719Z               "line": 621
2026-06-16T08:24:18.5416800Z             },
2026-06-16T08:24:18.5416887Z             {
2026-06-16T08:24:18.5416996Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5417075Z               "line": 834
2026-06-16T08:24:18.5417156Z             }
2026-06-16T08:24:18.5417243Z           ]
2026-06-16T08:24:18.5417330Z         },
2026-06-16T08:24:18.5417409Z         "int": {
2026-06-16T08:24:18.5417499Z           "complete": false,
2026-06-16T08:24:18.5417587Z           "evidence": []
2026-06-16T08:24:18.5417673Z         },
2026-06-16T08:24:18.5417752Z         "unit": {
2026-06-16T08:24:18.5417844Z           "complete": true,
2026-06-16T08:24:18.5417935Z           "evidence": [
2026-06-16T08:24:18.5418011Z             {
2026-06-16T08:24:18.5418129Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T08:24:18.5418287Z               "line": 161
2026-06-16T08:24:18.5418368Z             }
2026-06-16T08:24:18.5418449Z           ]
2026-06-16T08:24:18.5418536Z         }
2026-06-16T08:24:18.5418625Z       }
2026-06-16T08:24:18.5418768Z     },
2026-06-16T08:24:18.5418846Z     {
2026-06-16T08:24:18.5419021Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-16T08:24:18.5419204Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-16T08:24:18.5419287Z       "requiredStages": [
2026-06-16T08:24:18.5419363Z         "impl",
2026-06-16T08:24:18.5419444Z         "unit"
2026-06-16T08:24:18.5419530Z       ],
2026-06-16T08:24:18.5419609Z       "stages": {
2026-06-16T08:24:18.5419685Z         "doc": {
2026-06-16T08:24:18.5419776Z           "complete": false,
2026-06-16T08:24:18.5419867Z           "evidence": []
2026-06-16T08:24:18.5419947Z         },
2026-06-16T08:24:18.5420028Z         "impl": {
2026-06-16T08:24:18.5420124Z           "complete": true,
2026-06-16T08:24:18.5420205Z           "evidence": [
2026-06-16T08:24:18.5420290Z             {
2026-06-16T08:24:18.5420406Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5420482Z               "line": 40
2026-06-16T08:24:18.5420572Z             },
2026-06-16T08:24:18.5420658Z             {
2026-06-16T08:24:18.5420759Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5420849Z               "line": 103
2026-06-16T08:24:18.5420920Z             },
2026-06-16T08:24:18.5421001Z             {
2026-06-16T08:24:18.5421103Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5421182Z               "line": 218
2026-06-16T08:24:18.5421273Z             },
2026-06-16T08:24:18.5421345Z             {
2026-06-16T08:24:18.5421445Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5421530Z               "line": 323
2026-06-16T08:24:18.5421612Z             }
2026-06-16T08:24:18.5421699Z           ]
2026-06-16T08:24:18.5421779Z         },
2026-06-16T08:24:18.5421864Z         "int": {
2026-06-16T08:24:18.5421946Z           "complete": false,
2026-06-16T08:24:18.5422038Z           "evidence": []
2026-06-16T08:24:18.5422117Z         },
2026-06-16T08:24:18.5422197Z         "unit": {
2026-06-16T08:24:18.5422282Z           "complete": true,
2026-06-16T08:24:18.5422374Z           "evidence": [
2026-06-16T08:24:18.5422448Z             {
2026-06-16T08:24:18.5422548Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5422624Z               "line": 361
2026-06-16T08:24:18.5422710Z             },
2026-06-16T08:24:18.5422791Z             {
2026-06-16T08:24:18.5422891Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5422977Z               "line": 433
2026-06-16T08:24:18.5423059Z             },
2026-06-16T08:24:18.5423139Z             {
2026-06-16T08:24:18.5423282Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5423373Z               "line": 496
2026-06-16T08:24:18.5423463Z             },
2026-06-16T08:24:18.5423539Z             {
2026-06-16T08:24:18.5423636Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5423721Z               "line": 517
2026-06-16T08:24:18.5423802Z             }
2026-06-16T08:24:18.5423883Z           ]
2026-06-16T08:24:18.5423960Z         }
2026-06-16T08:24:18.5424045Z       }
2026-06-16T08:24:18.5424121Z     },
2026-06-16T08:24:18.5424202Z     {
2026-06-16T08:24:18.5424322Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-16T08:24:18.5424450Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-16T08:24:18.5424546Z       "requiredStages": [
2026-06-16T08:24:18.5424628Z         "impl",
2026-06-16T08:24:18.5424708Z         "unit"
2026-06-16T08:24:18.5424787Z       ],
2026-06-16T08:24:18.5424864Z       "stages": {
2026-06-16T08:24:18.5424949Z         "doc": {
2026-06-16T08:24:18.5425029Z           "complete": false,
2026-06-16T08:24:18.5425123Z           "evidence": []
2026-06-16T08:24:18.5425292Z         },
2026-06-16T08:24:18.5425372Z         "impl": {
2026-06-16T08:24:18.5425467Z           "complete": true,
2026-06-16T08:24:18.5425544Z           "evidence": [
2026-06-16T08:24:18.5425626Z             {
2026-06-16T08:24:18.5425725Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5425902Z               "line": 116
2026-06-16T08:24:18.5425987Z             },
2026-06-16T08:24:18.5426073Z             {
2026-06-16T08:24:18.5426184Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5426274Z               "line": 211
2026-06-16T08:24:18.5426345Z             }
2026-06-16T08:24:18.5426430Z           ]
2026-06-16T08:24:18.5426503Z         },
2026-06-16T08:24:18.5426583Z         "int": {
2026-06-16T08:24:18.5426684Z           "complete": false,
2026-06-16T08:24:18.5426769Z           "evidence": []
2026-06-16T08:24:18.5426846Z         },
2026-06-16T08:24:18.5426922Z         "unit": {
2026-06-16T08:24:18.5427003Z           "complete": true,
2026-06-16T08:24:18.5427103Z           "evidence": [
2026-06-16T08:24:18.5427180Z             {
2026-06-16T08:24:18.5427293Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5427384Z               "line": 388
2026-06-16T08:24:18.5427471Z             },
2026-06-16T08:24:18.5427556Z             {
2026-06-16T08:24:18.5427659Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5427745Z               "line": 469
2026-06-16T08:24:18.5427827Z             }
2026-06-16T08:24:18.5427904Z           ]
2026-06-16T08:24:18.5427988Z         }
2026-06-16T08:24:18.5428064Z       }
2026-06-16T08:24:18.5428142Z     },
2026-06-16T08:24:18.5428218Z     {
2026-06-16T08:24:18.5428341Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-16T08:24:18.5429567Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-16T08:24:18.5429662Z       "requiredStages": [
2026-06-16T08:24:18.5429745Z         "impl",
2026-06-16T08:24:18.5429824Z         "unit"
2026-06-16T08:24:18.5429919Z       ],
2026-06-16T08:24:18.5430000Z       "stages": {
2026-06-16T08:24:18.5430081Z         "doc": {
2026-06-16T08:24:18.5430174Z           "complete": true,
2026-06-16T08:24:18.5430264Z           "evidence": [
2026-06-16T08:24:18.5430350Z             {
2026-06-16T08:24:18.5430461Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5430550Z               "line": 206
2026-06-16T08:24:18.5430627Z             }
2026-06-16T08:24:18.5430714Z           ]
2026-06-16T08:24:18.5430790Z         },
2026-06-16T08:24:18.5430870Z         "impl": {
2026-06-16T08:24:18.5430956Z           "complete": true,
2026-06-16T08:24:18.5431042Z           "evidence": [
2026-06-16T08:24:18.5431119Z             {
2026-06-16T08:24:18.5431246Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5431338Z               "line": 630
2026-06-16T08:24:18.5431419Z             },
2026-06-16T08:24:18.5431499Z             {
2026-06-16T08:24:18.5431619Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5431700Z               "line": 722
2026-06-16T08:24:18.5431786Z             },
2026-06-16T08:24:18.5431867Z             {
2026-06-16T08:24:18.5431992Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.5432081Z               "line": 183
2026-06-16T08:24:18.5432162Z             }
2026-06-16T08:24:18.5432249Z           ]
2026-06-16T08:24:18.5432330Z         },
2026-06-16T08:24:18.5432410Z         "int": {
2026-06-16T08:24:18.5432501Z           "complete": false,
2026-06-16T08:24:18.5432583Z           "evidence": []
2026-06-16T08:24:18.5432659Z         },
2026-06-16T08:24:18.5432739Z         "unit": {
2026-06-16T08:24:18.5432833Z           "complete": true,
2026-06-16T08:24:18.5433013Z           "evidence": [
2026-06-16T08:24:18.5433094Z             {
2026-06-16T08:24:18.5433199Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5433294Z               "line": 771
2026-06-16T08:24:18.5433379Z             },
2026-06-16T08:24:18.5433547Z             {
2026-06-16T08:24:18.5433676Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T08:24:18.5433766Z               "line": 44
2026-06-16T08:24:18.5433842Z             },
2026-06-16T08:24:18.5433924Z             {
2026-06-16T08:24:18.5434047Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-16T08:24:18.5434138Z               "line": 52
2026-06-16T08:24:18.5434215Z             },
2026-06-16T08:24:18.5434295Z             {
2026-06-16T08:24:18.5434400Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T08:24:18.5434486Z               "line": 57
2026-06-16T08:24:18.5434567Z             },
2026-06-16T08:24:18.5434648Z             {
2026-06-16T08:24:18.5434777Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-16T08:24:18.5434859Z               "line": 54
2026-06-16T08:24:18.5434939Z             }
2026-06-16T08:24:18.5435020Z           ]
2026-06-16T08:24:18.5435102Z         }
2026-06-16T08:24:18.5435179Z       }
2026-06-16T08:24:18.5435258Z     },
2026-06-16T08:24:18.5435338Z     {
2026-06-16T08:24:18.5435467Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-16T08:24:18.5435693Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-16T08:24:18.5435779Z       "requiredStages": [
2026-06-16T08:24:18.5435861Z         "impl",
2026-06-16T08:24:18.5435946Z         "unit"
2026-06-16T08:24:18.5436036Z       ],
2026-06-16T08:24:18.5436124Z       "stages": {
2026-06-16T08:24:18.5436200Z         "doc": {
2026-06-16T08:24:18.5436294Z           "complete": false,
2026-06-16T08:24:18.5436385Z           "evidence": []
2026-06-16T08:24:18.5436467Z         },
2026-06-16T08:24:18.5436557Z         "impl": {
2026-06-16T08:24:18.5436652Z           "complete": true,
2026-06-16T08:24:18.5436744Z           "evidence": [
2026-06-16T08:24:18.5436824Z             {
2026-06-16T08:24:18.5436938Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5437024Z               "line": 26
2026-06-16T08:24:18.5437111Z             },
2026-06-16T08:24:18.5437196Z             {
2026-06-16T08:24:18.5437315Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5437416Z               "line": 135
2026-06-16T08:24:18.5437491Z             },
2026-06-16T08:24:18.5437568Z             {
2026-06-16T08:24:18.5437693Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5437787Z               "line": 26
2026-06-16T08:24:18.5437872Z             },
2026-06-16T08:24:18.5437959Z             {
2026-06-16T08:24:18.5438088Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5438163Z               "line": 237
2026-06-16T08:24:18.5438248Z             }
2026-06-16T08:24:18.5438324Z           ]
2026-06-16T08:24:18.5438407Z         },
2026-06-16T08:24:18.5438497Z         "int": {
2026-06-16T08:24:18.5438591Z           "complete": false,
2026-06-16T08:24:18.5438683Z           "evidence": []
2026-06-16T08:24:18.5438759Z         },
2026-06-16T08:24:18.5438849Z         "unit": {
2026-06-16T08:24:18.5439036Z           "complete": true,
2026-06-16T08:24:18.5439122Z           "evidence": [
2026-06-16T08:24:18.5439206Z             {
2026-06-16T08:24:18.5439322Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5439407Z               "line": 161
2026-06-16T08:24:18.5439484Z             },
2026-06-16T08:24:18.5439574Z             {
2026-06-16T08:24:18.5439684Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5439764Z               "line": 170
2026-06-16T08:24:18.5439845Z             },
2026-06-16T08:24:18.5439933Z             {
2026-06-16T08:24:18.5440042Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5440252Z               "line": 179
2026-06-16T08:24:18.5440328Z             },
2026-06-16T08:24:18.5440408Z             {
2026-06-16T08:24:18.5440526Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5440617Z               "line": 190
2026-06-16T08:24:18.5440782Z             },
2026-06-16T08:24:18.5440857Z             {
2026-06-16T08:24:18.5440973Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5441054Z               "line": 199
2026-06-16T08:24:18.5441134Z             },
2026-06-16T08:24:18.5441211Z             {
2026-06-16T08:24:18.5441311Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5441397Z               "line": 216
2026-06-16T08:24:18.5441473Z             },
2026-06-16T08:24:18.5441555Z             {
2026-06-16T08:24:18.5441669Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T08:24:18.5441740Z               "line": 242
2026-06-16T08:24:18.5441821Z             },
2026-06-16T08:24:18.5441908Z             {
2026-06-16T08:24:18.5442013Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5442102Z               "line": 295
2026-06-16T08:24:18.5442184Z             },
2026-06-16T08:24:18.5442265Z             {
2026-06-16T08:24:18.5442379Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5442475Z               "line": 244
2026-06-16T08:24:18.5442562Z             },
2026-06-16T08:24:18.5442641Z             {
2026-06-16T08:24:18.5442761Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5442843Z               "line": 265
2026-06-16T08:24:18.5442932Z             },
2026-06-16T08:24:18.5443013Z             {
2026-06-16T08:24:18.5443134Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5443224Z               "line": 293
2026-06-16T08:24:18.5443303Z             },
2026-06-16T08:24:18.5443379Z             {
2026-06-16T08:24:18.5443494Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5443588Z               "line": 317
2026-06-16T08:24:18.5443663Z             },
2026-06-16T08:24:18.5443744Z             {
2026-06-16T08:24:18.5443874Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T08:24:18.5443963Z               "line": 327
2026-06-16T08:24:18.5444039Z             },
2026-06-16T08:24:18.5444122Z             {
2026-06-16T08:24:18.5444245Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.5444330Z               "line": 540
2026-06-16T08:24:18.5444417Z             }
2026-06-16T08:24:18.5444498Z           ]
2026-06-16T08:24:18.5444579Z         }
2026-06-16T08:24:18.5444659Z       }
2026-06-16T08:24:18.5444736Z     },
2026-06-16T08:24:18.5444813Z     {
2026-06-16T08:24:18.5444936Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-16T08:24:18.5445085Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-16T08:24:18.5445179Z       "requiredStages": [
2026-06-16T08:24:18.5445270Z         "impl",
2026-06-16T08:24:18.5445357Z         "unit"
2026-06-16T08:24:18.5445438Z       ],
2026-06-16T08:24:18.5445565Z       "stages": {
2026-06-16T08:24:18.5445642Z         "doc": {
2026-06-16T08:24:18.5445739Z           "complete": false,
2026-06-16T08:24:18.5445832Z           "evidence": []
2026-06-16T08:24:18.5445913Z         },
2026-06-16T08:24:18.5445998Z         "impl": {
2026-06-16T08:24:18.5446084Z           "complete": true,
2026-06-16T08:24:18.5446177Z           "evidence": [
2026-06-16T08:24:18.5446262Z             {
2026-06-16T08:24:18.5446383Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.5446478Z               "line": 25
2026-06-16T08:24:18.5446559Z             },
2026-06-16T08:24:18.5446645Z             {
2026-06-16T08:24:18.5446755Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5446845Z               "line": 26
2026-06-16T08:24:18.5446926Z             },
2026-06-16T08:24:18.5447013Z             {
2026-06-16T08:24:18.5447202Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5447284Z               "line": 159
2026-06-16T08:24:18.5447360Z             }
2026-06-16T08:24:18.5447441Z           ]
2026-06-16T08:24:18.5447517Z         },
2026-06-16T08:24:18.5447589Z         "int": {
2026-06-16T08:24:18.5447751Z           "complete": false,
2026-06-16T08:24:18.5447846Z           "evidence": []
2026-06-16T08:24:18.5447914Z         },
2026-06-16T08:24:18.5447995Z         "unit": {
2026-06-16T08:24:18.5448084Z           "complete": true,
2026-06-16T08:24:18.5448171Z           "evidence": [
2026-06-16T08:24:18.5448248Z             {
2026-06-16T08:24:18.5448357Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.5448452Z               "line": 188
2026-06-16T08:24:18.5448529Z             },
2026-06-16T08:24:18.5448615Z             {
2026-06-16T08:24:18.5448718Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.5448803Z               "line": 240
2026-06-16T08:24:18.5448889Z             },
2026-06-16T08:24:18.5449047Z             {
2026-06-16T08:24:18.5449156Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5449243Z               "line": 186
2026-06-16T08:24:18.5449324Z             }
2026-06-16T08:24:18.5449414Z           ]
2026-06-16T08:24:18.5449500Z         }
2026-06-16T08:24:18.5449572Z       }
2026-06-16T08:24:18.5449658Z     },
2026-06-16T08:24:18.5449738Z     {
2026-06-16T08:24:18.5449834Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-16T08:24:18.5450000Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-16T08:24:18.5450095Z       "requiredStages": [
2026-06-16T08:24:18.5450183Z         "impl",
2026-06-16T08:24:18.5450273Z         "unit"
2026-06-16T08:24:18.5450349Z       ],
2026-06-16T08:24:18.5450439Z       "stages": {
2026-06-16T08:24:18.5450517Z         "doc": {
2026-06-16T08:24:18.5450611Z           "complete": false,
2026-06-16T08:24:18.5450697Z           "evidence": []
2026-06-16T08:24:18.5450783Z         },
2026-06-16T08:24:18.5450874Z         "impl": {
2026-06-16T08:24:18.5450968Z           "complete": true,
2026-06-16T08:24:18.5451053Z           "evidence": [
2026-06-16T08:24:18.5451130Z             {
2026-06-16T08:24:18.5451248Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5451337Z               "line": 48
2026-06-16T08:24:18.5451418Z             },
2026-06-16T08:24:18.5451499Z             {
2026-06-16T08:24:18.5451609Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5451704Z               "line": 55
2026-06-16T08:24:18.5451781Z             },
2026-06-16T08:24:18.5451858Z             {
2026-06-16T08:24:18.5451971Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5452066Z               "line": 74
2026-06-16T08:24:18.5452144Z             },
2026-06-16T08:24:18.5452219Z             {
2026-06-16T08:24:18.5452323Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5452406Z               "line": 91
2026-06-16T08:24:18.5452511Z             }
2026-06-16T08:24:18.5452591Z           ]
2026-06-16T08:24:18.5452667Z         },
2026-06-16T08:24:18.5452754Z         "int": {
2026-06-16T08:24:18.5452830Z           "complete": false,
2026-06-16T08:24:18.5452925Z           "evidence": []
2026-06-16T08:24:18.5453001Z         },
2026-06-16T08:24:18.5453083Z         "unit": {
2026-06-16T08:24:18.5453173Z           "complete": true,
2026-06-16T08:24:18.5453254Z           "evidence": [
2026-06-16T08:24:18.5453335Z             {
2026-06-16T08:24:18.5453446Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5453525Z               "line": 149
2026-06-16T08:24:18.5453611Z             },
2026-06-16T08:24:18.5453689Z             {
2026-06-16T08:24:18.5453798Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5453892Z               "line": 166
2026-06-16T08:24:18.5453972Z             },
2026-06-16T08:24:18.5454054Z             {
2026-06-16T08:24:18.5454167Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5454347Z               "line": 176
2026-06-16T08:24:18.5454429Z             },
2026-06-16T08:24:18.5454509Z             {
2026-06-16T08:24:18.5454623Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5454815Z               "line": 194
2026-06-16T08:24:18.5454895Z             },
2026-06-16T08:24:18.5454973Z             {
2026-06-16T08:24:18.5455082Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5455172Z               "line": 207
2026-06-16T08:24:18.5455243Z             }
2026-06-16T08:24:18.5455326Z           ]
2026-06-16T08:24:18.5455401Z         }
2026-06-16T08:24:18.5455482Z       }
2026-06-16T08:24:18.5455563Z     },
2026-06-16T08:24:18.5455645Z     {
2026-06-16T08:24:18.5455763Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-16T08:24:18.5455950Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-16T08:24:18.5456045Z       "requiredStages": [
2026-06-16T08:24:18.5456140Z         "impl",
2026-06-16T08:24:18.5456222Z         "unit"
2026-06-16T08:24:18.5456309Z       ],
2026-06-16T08:24:18.5456383Z       "stages": {
2026-06-16T08:24:18.5456473Z         "doc": {
2026-06-16T08:24:18.5456559Z           "complete": false,
2026-06-16T08:24:18.5456645Z           "evidence": []
2026-06-16T08:24:18.5456723Z         },
2026-06-16T08:24:18.5456804Z         "impl": {
2026-06-16T08:24:18.5456890Z           "complete": true,
2026-06-16T08:24:18.5456967Z           "evidence": [
2026-06-16T08:24:18.5457048Z             {
2026-06-16T08:24:18.5457171Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5457254Z               "line": 416
2026-06-16T08:24:18.5457334Z             },
2026-06-16T08:24:18.5457419Z             {
2026-06-16T08:24:18.5457539Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5457620Z               "line": 26
2026-06-16T08:24:18.5457706Z             }
2026-06-16T08:24:18.5457786Z           ]
2026-06-16T08:24:18.5457873Z         },
2026-06-16T08:24:18.5457954Z         "int": {
2026-06-16T08:24:18.5458044Z           "complete": false,
2026-06-16T08:24:18.5458134Z           "evidence": []
2026-06-16T08:24:18.5458217Z         },
2026-06-16T08:24:18.5458297Z         "unit": {
2026-06-16T08:24:18.5458387Z           "complete": true,
2026-06-16T08:24:18.5458483Z           "evidence": [
2026-06-16T08:24:18.5458564Z             {
2026-06-16T08:24:18.5458669Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5458764Z               "line": 150
2026-06-16T08:24:18.5458842Z             },
2026-06-16T08:24:18.5458926Z             {
2026-06-16T08:24:18.5459123Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5459213Z               "line": 208
2026-06-16T08:24:18.5459297Z             }
2026-06-16T08:24:18.5459373Z           ]
2026-06-16T08:24:18.5459454Z         }
2026-06-16T08:24:18.5459527Z       }
2026-06-16T08:24:18.5459617Z     },
2026-06-16T08:24:18.5459702Z     {
2026-06-16T08:24:18.5459817Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-16T08:24:18.5461162Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-16T08:24:18.5461266Z       "requiredStages": [
2026-06-16T08:24:18.5461353Z         "doc",
2026-06-16T08:24:18.5461434Z         "impl",
2026-06-16T08:24:18.5461514Z         "unit"
2026-06-16T08:24:18.5461604Z       ],
2026-06-16T08:24:18.5461690Z       "stages": {
2026-06-16T08:24:18.5464249Z         "doc": {
2026-06-16T08:24:18.5464377Z           "complete": true,
2026-06-16T08:24:18.5464466Z           "evidence": [
2026-06-16T08:24:18.5464547Z             {
2026-06-16T08:24:18.5464807Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5464898Z               "line": 214
2026-06-16T08:24:18.5464975Z             }
2026-06-16T08:24:18.5465051Z           ]
2026-06-16T08:24:18.5465131Z         },
2026-06-16T08:24:18.5465342Z         "impl": {
2026-06-16T08:24:18.5465436Z           "complete": true,
2026-06-16T08:24:18.5465533Z           "evidence": [
2026-06-16T08:24:18.5465614Z             {
2026-06-16T08:24:18.5465732Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5465832Z               "line": 56
2026-06-16T08:24:18.5465900Z             },
2026-06-16T08:24:18.5465989Z             {
2026-06-16T08:24:18.5466109Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5466205Z               "line": 548
2026-06-16T08:24:18.5466295Z             },
2026-06-16T08:24:18.5466376Z             {
2026-06-16T08:24:18.5466506Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5466596Z               "line": 36
2026-06-16T08:24:18.5466676Z             },
2026-06-16T08:24:18.5466753Z             {
2026-06-16T08:24:18.5466878Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5466962Z               "line": 59
2026-06-16T08:24:18.5467043Z             },
2026-06-16T08:24:18.5467124Z             {
2026-06-16T08:24:18.5467242Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5467321Z               "line": 83
2026-06-16T08:24:18.5467402Z             },
2026-06-16T08:24:18.5467484Z             {
2026-06-16T08:24:18.5467608Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5467693Z               "line": 140
2026-06-16T08:24:18.5467775Z             },
2026-06-16T08:24:18.5467847Z             {
2026-06-16T08:24:18.5467960Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5468055Z               "line": 159
2026-06-16T08:24:18.5468138Z             },
2026-06-16T08:24:18.5468218Z             {
2026-06-16T08:24:18.5468332Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5468414Z               "line": 384
2026-06-16T08:24:18.5468495Z             },
2026-06-16T08:24:18.5468576Z             {
2026-06-16T08:24:18.5468694Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5468787Z               "line": 526
2026-06-16T08:24:18.5468861Z             },
2026-06-16T08:24:18.5469024Z             {
2026-06-16T08:24:18.5469143Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5469219Z               "line": 572
2026-06-16T08:24:18.5469310Z             },
2026-06-16T08:24:18.5469382Z             {
2026-06-16T08:24:18.5469495Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5469582Z               "line": 300
2026-06-16T08:24:18.5469659Z             },
2026-06-16T08:24:18.5469741Z             {
2026-06-16T08:24:18.5469838Z               "path": "crates/spt/src/main.rs",
2026-06-16T08:24:18.5469942Z               "line": 41
2026-06-16T08:24:18.5470024Z             }
2026-06-16T08:24:18.5470096Z           ]
2026-06-16T08:24:18.5470181Z         },
2026-06-16T08:24:18.5470262Z         "int": {
2026-06-16T08:24:18.5470363Z           "complete": false,
2026-06-16T08:24:18.5470454Z           "evidence": []
2026-06-16T08:24:18.5470534Z         },
2026-06-16T08:24:18.5470625Z         "unit": {
2026-06-16T08:24:18.5470711Z           "complete": true,
2026-06-16T08:24:18.5470802Z           "evidence": [
2026-06-16T08:24:18.5470877Z             {
2026-06-16T08:24:18.5470998Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5471088Z               "line": 785
2026-06-16T08:24:18.5471173Z             },
2026-06-16T08:24:18.5471259Z             {
2026-06-16T08:24:18.5471374Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5471455Z               "line": 826
2026-06-16T08:24:18.5471536Z             },
2026-06-16T08:24:18.5471613Z             {
2026-06-16T08:24:18.5471831Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5471913Z               "line": 900
2026-06-16T08:24:18.5471994Z             }
2026-06-16T08:24:18.5472069Z           ]
2026-06-16T08:24:18.5472149Z         }
2026-06-16T08:24:18.5472321Z       }
2026-06-16T08:24:18.5472396Z     },
2026-06-16T08:24:18.5472476Z     {
2026-06-16T08:24:18.5472601Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-16T08:24:18.5474431Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-16T08:24:18.5474537Z       "requiredStages": [
2026-06-16T08:24:18.5474636Z         "impl",
2026-06-16T08:24:18.5474736Z         "unit"
2026-06-16T08:24:18.5474819Z       ],
2026-06-16T08:24:18.5474904Z       "stages": {
2026-06-16T08:24:18.5474998Z         "doc": {
2026-06-16T08:24:18.5475112Z           "complete": false,
2026-06-16T08:24:18.5475207Z           "evidence": []
2026-06-16T08:24:18.5475296Z         },
2026-06-16T08:24:18.5475381Z         "impl": {
2026-06-16T08:24:18.5475473Z           "complete": true,
2026-06-16T08:24:18.5475563Z           "evidence": [
2026-06-16T08:24:18.5475653Z             {
2026-06-16T08:24:18.5475816Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5475902Z               "line": 31
2026-06-16T08:24:18.5475982Z             }
2026-06-16T08:24:18.5476063Z           ]
2026-06-16T08:24:18.5476145Z         },
2026-06-16T08:24:18.5476221Z         "int": {
2026-06-16T08:24:18.5476320Z           "complete": false,
2026-06-16T08:24:18.5476417Z           "evidence": []
2026-06-16T08:24:18.5476494Z         },
2026-06-16T08:24:18.5476584Z         "unit": {
2026-06-16T08:24:18.5476679Z           "complete": true,
2026-06-16T08:24:18.5476765Z           "evidence": [
2026-06-16T08:24:18.5476851Z             {
2026-06-16T08:24:18.5476955Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5477037Z               "line": 181
2026-06-16T08:24:18.5477118Z             }
2026-06-16T08:24:18.5477198Z           ]
2026-06-16T08:24:18.5477279Z         }
2026-06-16T08:24:18.5477362Z       }
2026-06-16T08:24:18.5477438Z     },
2026-06-16T08:24:18.5477518Z     {
2026-06-16T08:24:18.5477640Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-16T08:24:18.5477784Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-16T08:24:18.5477881Z       "requiredStages": [
2026-06-16T08:24:18.5477976Z         "impl",
2026-06-16T08:24:18.5478053Z         "unit"
2026-06-16T08:24:18.5478141Z       ],
2026-06-16T08:24:18.5478220Z       "stages": {
2026-06-16T08:24:18.5478306Z         "doc": {
2026-06-16T08:24:18.5478393Z           "complete": false,
2026-06-16T08:24:18.5478479Z           "evidence": []
2026-06-16T08:24:18.5478553Z         },
2026-06-16T08:24:18.5478640Z         "impl": {
2026-06-16T08:24:18.5478722Z           "complete": true,
2026-06-16T08:24:18.5478803Z           "evidence": [
2026-06-16T08:24:18.5478887Z             {
2026-06-16T08:24:18.5479074Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5479164Z               "line": 49
2026-06-16T08:24:18.5479255Z             },
2026-06-16T08:24:18.5479347Z             {
2026-06-16T08:24:18.5479470Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5479556Z               "line": 81
2026-06-16T08:24:18.5479637Z             }
2026-06-16T08:24:18.5479709Z           ]
2026-06-16T08:24:18.5479784Z         },
2026-06-16T08:24:18.5479865Z         "int": {
2026-06-16T08:24:18.5480047Z           "complete": false,
2026-06-16T08:24:18.5480137Z           "evidence": []
2026-06-16T08:24:18.5480214Z         },
2026-06-16T08:24:18.5480296Z         "unit": {
2026-06-16T08:24:18.5480376Z           "complete": true,
2026-06-16T08:24:18.5480465Z           "evidence": [
2026-06-16T08:24:18.5480637Z             {
2026-06-16T08:24:18.5480751Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5480836Z               "line": 156
2026-06-16T08:24:18.5480913Z             },
2026-06-16T08:24:18.5480995Z             {
2026-06-16T08:24:18.5481113Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5481200Z               "line": 173
2026-06-16T08:24:18.5481286Z             },
2026-06-16T08:24:18.5481367Z             {
2026-06-16T08:24:18.5481476Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5481563Z               "line": 196
2026-06-16T08:24:18.5481648Z             }
2026-06-16T08:24:18.5481733Z           ]
2026-06-16T08:24:18.5481824Z         }
2026-06-16T08:24:18.5481906Z       }
2026-06-16T08:24:18.5481986Z     },
2026-06-16T08:24:18.5482072Z     {
2026-06-16T08:24:18.5482188Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-16T08:24:18.5482367Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-16T08:24:18.5482458Z       "requiredStages": [
2026-06-16T08:24:18.5482546Z         "impl",
2026-06-16T08:24:18.5482624Z         "unit"
2026-06-16T08:24:18.5482705Z       ],
2026-06-16T08:24:18.5482791Z       "stages": {
2026-06-16T08:24:18.5482867Z         "doc": {
2026-06-16T08:24:18.5482961Z           "complete": false,
2026-06-16T08:24:18.5483046Z           "evidence": []
2026-06-16T08:24:18.5483127Z         },
2026-06-16T08:24:18.5483204Z         "impl": {
2026-06-16T08:24:18.5483289Z           "complete": true,
2026-06-16T08:24:18.5483384Z           "evidence": [
2026-06-16T08:24:18.5483456Z             {
2026-06-16T08:24:18.5483576Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5483666Z               "line": 120
2026-06-16T08:24:18.5483747Z             }
2026-06-16T08:24:18.5483829Z           ]
2026-06-16T08:24:18.5483905Z         },
2026-06-16T08:24:18.5483985Z         "int": {
2026-06-16T08:24:18.5484062Z           "complete": false,
2026-06-16T08:24:18.5484158Z           "evidence": []
2026-06-16T08:24:18.5484238Z         },
2026-06-16T08:24:18.5484319Z         "unit": {
2026-06-16T08:24:18.5484415Z           "complete": true,
2026-06-16T08:24:18.5484496Z           "evidence": [
2026-06-16T08:24:18.5484577Z             {
2026-06-16T08:24:18.5484681Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5484769Z               "line": 212
2026-06-16T08:24:18.5484839Z             },
2026-06-16T08:24:18.5484920Z             {
2026-06-16T08:24:18.5485040Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5485121Z               "line": 221
2026-06-16T08:24:18.5485206Z             },
2026-06-16T08:24:18.5485288Z             {
2026-06-16T08:24:18.5485403Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5485488Z               "line": 229
2026-06-16T08:24:18.5485568Z             },
2026-06-16T08:24:18.5485643Z             {
2026-06-16T08:24:18.5485763Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5485847Z               "line": 239
2026-06-16T08:24:18.5485927Z             },
2026-06-16T08:24:18.5486009Z             {
2026-06-16T08:24:18.5486124Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T08:24:18.5486214Z               "line": 249
2026-06-16T08:24:18.5486304Z             }
2026-06-16T08:24:18.5486381Z           ]
2026-06-16T08:24:18.5486467Z         }
2026-06-16T08:24:18.5486547Z       }
2026-06-16T08:24:18.5486628Z     },
2026-06-16T08:24:18.5486701Z     {
2026-06-16T08:24:18.5486815Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-16T08:24:18.5486977Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-16T08:24:18.5487149Z       "requiredStages": [
2026-06-16T08:24:18.5487234Z         "impl",
2026-06-16T08:24:18.5487312Z         "unit"
2026-06-16T08:24:18.5487397Z       ],
2026-06-16T08:24:18.5487482Z       "stages": {
2026-06-16T08:24:18.5487568Z         "doc": {
2026-06-16T08:24:18.5487726Z           "complete": false,
2026-06-16T08:24:18.5487801Z           "evidence": []
2026-06-16T08:24:18.5487878Z         },
2026-06-16T08:24:18.5487960Z         "impl": {
2026-06-16T08:24:18.5488064Z           "complete": true,
2026-06-16T08:24:18.5488144Z           "evidence": [
2026-06-16T08:24:18.5488229Z             {
2026-06-16T08:24:18.5488339Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5488423Z               "line": 14
2026-06-16T08:24:18.5488513Z             },
2026-06-16T08:24:18.5488595Z             {
2026-06-16T08:24:18.5488701Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5488780Z               "line": 63
2026-06-16T08:24:18.5488866Z             }
2026-06-16T08:24:18.5489014Z           ]
2026-06-16T08:24:18.5489095Z         },
2026-06-16T08:24:18.5489176Z         "int": {
2026-06-16T08:24:18.5489268Z           "complete": false,
2026-06-16T08:24:18.5489363Z           "evidence": []
2026-06-16T08:24:18.5489438Z         },
2026-06-16T08:24:18.5489530Z         "unit": {
2026-06-16T08:24:18.5489611Z           "complete": true,
2026-06-16T08:24:18.5489691Z           "evidence": [
2026-06-16T08:24:18.5489781Z             {
2026-06-16T08:24:18.5489883Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5489968Z               "line": 164
2026-06-16T08:24:18.5490044Z             },
2026-06-16T08:24:18.5490125Z             {
2026-06-16T08:24:18.5490221Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5490306Z               "line": 198
2026-06-16T08:24:18.5490387Z             },
2026-06-16T08:24:18.5490474Z             {
2026-06-16T08:24:18.5490579Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.5490663Z               "line": 220
2026-06-16T08:24:18.5490750Z             }
2026-06-16T08:24:18.5490837Z           ]
2026-06-16T08:24:18.5490913Z         }
2026-06-16T08:24:18.5490996Z       }
2026-06-16T08:24:18.5491068Z     },
2026-06-16T08:24:18.5491154Z     {
2026-06-16T08:24:18.5491265Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-16T08:24:18.5492608Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-16T08:24:18.5492714Z       "requiredStages": [],
2026-06-16T08:24:18.5492796Z       "stages": {
2026-06-16T08:24:18.5492879Z         "doc": {
2026-06-16T08:24:18.5492975Z           "complete": true,
2026-06-16T08:24:18.5493057Z           "evidence": [
2026-06-16T08:24:18.5493143Z             {
2026-06-16T08:24:18.5493242Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5493336Z               "line": 165
2026-06-16T08:24:18.5493413Z             }
2026-06-16T08:24:18.5493502Z           ]
2026-06-16T08:24:18.5493587Z         },
2026-06-16T08:24:18.5493668Z         "impl": {
2026-06-16T08:24:18.5493764Z           "complete": false,
2026-06-16T08:24:18.5493840Z           "evidence": []
2026-06-16T08:24:18.5493916Z         },
2026-06-16T08:24:18.5494002Z         "int": {
2026-06-16T08:24:18.5494098Z           "complete": false,
2026-06-16T08:24:18.5494183Z           "evidence": []
2026-06-16T08:24:18.5494259Z         },
2026-06-16T08:24:18.5494336Z         "unit": {
2026-06-16T08:24:18.5494427Z           "complete": false,
2026-06-16T08:24:18.5494516Z           "evidence": []
2026-06-16T08:24:18.5494593Z         }
2026-06-16T08:24:18.5494675Z       }
2026-06-16T08:24:18.5494751Z     },
2026-06-16T08:24:18.5494936Z     {
2026-06-16T08:24:18.5495056Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-16T08:24:18.5495266Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-16T08:24:18.5495366Z       "requiredStages": [
2026-06-16T08:24:18.5495556Z         "impl",
2026-06-16T08:24:18.5495644Z         "unit"
2026-06-16T08:24:18.5495728Z       ],
2026-06-16T08:24:18.5495804Z       "stages": {
2026-06-16T08:24:18.5495886Z         "doc": {
2026-06-16T08:24:18.5495968Z           "complete": false,
2026-06-16T08:24:18.5496057Z           "evidence": []
2026-06-16T08:24:18.5496142Z         },
2026-06-16T08:24:18.5496228Z         "impl": {
2026-06-16T08:24:18.5496318Z           "complete": true,
2026-06-16T08:24:18.5496407Z           "evidence": [
2026-06-16T08:24:18.5496496Z             {
2026-06-16T08:24:18.5496612Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5496708Z               "line": 76
2026-06-16T08:24:18.5496788Z             },
2026-06-16T08:24:18.5496864Z             {
2026-06-16T08:24:18.5496975Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5497055Z               "line": 167
2026-06-16T08:24:18.5497136Z             },
2026-06-16T08:24:18.5497218Z             {
2026-06-16T08:24:18.5497327Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5497417Z               "line": 233
2026-06-16T08:24:18.5497504Z             },
2026-06-16T08:24:18.5497594Z             {
2026-06-16T08:24:18.5497699Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5497794Z               "line": 272
2026-06-16T08:24:18.5497877Z             }
2026-06-16T08:24:18.5497961Z           ]
2026-06-16T08:24:18.5498037Z         },
2026-06-16T08:24:18.5498118Z         "int": {
2026-06-16T08:24:18.5498219Z           "complete": false,
2026-06-16T08:24:18.5498314Z           "evidence": []
2026-06-16T08:24:18.5498395Z         },
2026-06-16T08:24:18.5498477Z         "unit": {
2026-06-16T08:24:18.5498572Z           "complete": true,
2026-06-16T08:24:18.5498652Z           "evidence": [
2026-06-16T08:24:18.5498746Z             {
2026-06-16T08:24:18.5498856Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5498936Z               "line": 321
2026-06-16T08:24:18.5499087Z             },
2026-06-16T08:24:18.5499169Z             {
2026-06-16T08:24:18.5499284Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5499373Z               "line": 329
2026-06-16T08:24:18.5499450Z             },
2026-06-16T08:24:18.5499532Z             {
2026-06-16T08:24:18.5499646Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5499736Z               "line": 356
2026-06-16T08:24:18.5499818Z             },
2026-06-16T08:24:18.5499898Z             {
2026-06-16T08:24:18.5500003Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5500090Z               "line": 395
2026-06-16T08:24:18.5500180Z             },
2026-06-16T08:24:18.5500266Z             {
2026-06-16T08:24:18.5500371Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5500448Z               "line": 406
2026-06-16T08:24:18.5500547Z             },
2026-06-16T08:24:18.5500628Z             {
2026-06-16T08:24:18.5500748Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5500843Z               "line": 418
2026-06-16T08:24:18.5500919Z             },
2026-06-16T08:24:18.5501000Z             {
2026-06-16T08:24:18.5501106Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T08:24:18.5501190Z               "line": 442
2026-06-16T08:24:18.5501272Z             }
2026-06-16T08:24:18.5501349Z           ]
2026-06-16T08:24:18.5501445Z         }
2026-06-16T08:24:18.5501524Z       }
2026-06-16T08:24:18.5501600Z     },
2026-06-16T08:24:18.5501681Z     {
2026-06-16T08:24:18.5501791Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-16T08:24:18.5501938Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-16T08:24:18.5502139Z       "requiredStages": [
2026-06-16T08:24:18.5502214Z         "impl",
2026-06-16T08:24:18.5502300Z         "int"
2026-06-16T08:24:18.5502383Z       ],
2026-06-16T08:24:18.5502458Z       "stages": {
2026-06-16T08:24:18.5502539Z         "doc": {
2026-06-16T08:24:18.5502721Z           "complete": false,
2026-06-16T08:24:18.5502816Z           "evidence": []
2026-06-16T08:24:18.5502901Z         },
2026-06-16T08:24:18.5502983Z         "impl": {
2026-06-16T08:24:18.5503078Z           "complete": true,
2026-06-16T08:24:18.5503164Z           "evidence": [
2026-06-16T08:24:18.5503250Z             {
2026-06-16T08:24:18.5503374Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5503459Z               "line": 22
2026-06-16T08:24:18.5503545Z             }
2026-06-16T08:24:18.5503622Z           ]
2026-06-16T08:24:18.5503703Z         },
2026-06-16T08:24:18.5503783Z         "int": {
2026-06-16T08:24:18.5503891Z           "complete": true,
2026-06-16T08:24:18.5503997Z           "evidence": [
2026-06-16T08:24:18.5504099Z             {
2026-06-16T08:24:18.5504228Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-16T08:24:18.5504310Z               "line": 18
2026-06-16T08:24:18.5504396Z             }
2026-06-16T08:24:18.5504471Z           ]
2026-06-16T08:24:18.5504562Z         },
2026-06-16T08:24:18.5504644Z         "unit": {
2026-06-16T08:24:18.5504739Z           "complete": false,
2026-06-16T08:24:18.5504824Z           "evidence": []
2026-06-16T08:24:18.5504901Z         }
2026-06-16T08:24:18.5504982Z       }
2026-06-16T08:24:18.5505058Z     },
2026-06-16T08:24:18.5505139Z     {
2026-06-16T08:24:18.5505259Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-16T08:24:18.5505463Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-16T08:24:18.5505579Z       "requiredStages": [
2026-06-16T08:24:18.5505659Z         "impl",
2026-06-16T08:24:18.5505749Z         "unit"
2026-06-16T08:24:18.5505826Z       ],
2026-06-16T08:24:18.5505917Z       "stages": {
2026-06-16T08:24:18.5506002Z         "doc": {
2026-06-16T08:24:18.5506097Z           "complete": false,
2026-06-16T08:24:18.5506189Z           "evidence": []
2026-06-16T08:24:18.5506274Z         },
2026-06-16T08:24:18.5506364Z         "impl": {
2026-06-16T08:24:18.5506456Z           "complete": true,
2026-06-16T08:24:18.5506547Z           "evidence": [
2026-06-16T08:24:18.5506617Z             {
2026-06-16T08:24:18.5506735Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5506831Z               "line": 415
2026-06-16T08:24:18.5506911Z             },
2026-06-16T08:24:18.5506995Z             {
2026-06-16T08:24:18.5507115Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5507196Z               "line": 27
2026-06-16T08:24:18.5507282Z             }
2026-06-16T08:24:18.5507367Z           ]
2026-06-16T08:24:18.5507444Z         },
2026-06-16T08:24:18.5507520Z         "int": {
2026-06-16T08:24:18.5507615Z           "complete": false,
2026-06-16T08:24:18.5507710Z           "evidence": []
2026-06-16T08:24:18.5507793Z         },
2026-06-16T08:24:18.5507873Z         "unit": {
2026-06-16T08:24:18.5507972Z           "complete": true,
2026-06-16T08:24:18.5508054Z           "evidence": [
2026-06-16T08:24:18.5508131Z             {
2026-06-16T08:24:18.5508254Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5508335Z               "line": 940
2026-06-16T08:24:18.5508422Z             },
2026-06-16T08:24:18.5508498Z             {
2026-06-16T08:24:18.5508621Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5508703Z               "line": 181
2026-06-16T08:24:18.5508785Z             }
2026-06-16T08:24:18.5508864Z           ]
2026-06-16T08:24:18.5509018Z         }
2026-06-16T08:24:18.5509104Z       }
2026-06-16T08:24:18.5509179Z     },
2026-06-16T08:24:18.5509259Z     {
2026-06-16T08:24:18.5509373Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-16T08:24:18.5509548Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-16T08:24:18.5509748Z       "requiredStages": [
2026-06-16T08:24:18.5509830Z         "impl",
2026-06-16T08:24:18.5509910Z         "unit"
2026-06-16T08:24:18.5509986Z       ],
2026-06-16T08:24:18.5510083Z       "stages": {
2026-06-16T08:24:18.5510262Z         "doc": {
2026-06-16T08:24:18.5510345Z           "complete": false,
2026-06-16T08:24:18.5510440Z           "evidence": []
2026-06-16T08:24:18.5510516Z         },
2026-06-16T08:24:18.5510596Z         "impl": {
2026-06-16T08:24:18.5510684Z           "complete": true,
2026-06-16T08:24:18.5510778Z           "evidence": [
2026-06-16T08:24:18.5510854Z             {
2026-06-16T08:24:18.5510974Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5511069Z               "line": 73
2026-06-16T08:24:18.5511145Z             },
2026-06-16T08:24:18.5511245Z             {
2026-06-16T08:24:18.5511361Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5511450Z               "line": 955
2026-06-16T08:24:18.5511545Z             },
2026-06-16T08:24:18.5511623Z             {
2026-06-16T08:24:18.5511736Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5511827Z               "line": 20
2026-06-16T08:24:18.5511909Z             },
2026-06-16T08:24:18.5511990Z             {
2026-06-16T08:24:18.5512112Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5512193Z               "line": 100
2026-06-16T08:24:18.5512275Z             },
2026-06-16T08:24:18.5512366Z             {
2026-06-16T08:24:18.5512464Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T08:24:18.5512555Z               "line": 555
2026-06-16T08:24:18.5512633Z             },
2026-06-16T08:24:18.5512723Z             {
2026-06-16T08:24:18.5512841Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T08:24:18.5512928Z               "line": 68
2026-06-16T08:24:18.5513009Z             },
2026-06-16T08:24:18.5513094Z             {
2026-06-16T08:24:18.5513219Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T08:24:18.5513310Z               "line": 80
2026-06-16T08:24:18.5513386Z             }
2026-06-16T08:24:18.5513466Z           ]
2026-06-16T08:24:18.5513544Z         },
2026-06-16T08:24:18.5513639Z         "int": {
2026-06-16T08:24:18.5513729Z           "complete": true,
2026-06-16T08:24:18.5513819Z           "evidence": [
2026-06-16T08:24:18.5513901Z             {
2026-06-16T08:24:18.5514014Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-16T08:24:18.5514095Z               "line": 44
2026-06-16T08:24:18.5514178Z             }
2026-06-16T08:24:18.5514268Z           ]
2026-06-16T08:24:18.5514348Z         },
2026-06-16T08:24:18.5514428Z         "unit": {
2026-06-16T08:24:18.5514524Z           "complete": true,
2026-06-16T08:24:18.5514609Z           "evidence": [
2026-06-16T08:24:18.5514688Z             {
2026-06-16T08:24:18.5514798Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5514885Z               "line": 1155
2026-06-16T08:24:18.5514965Z             },
2026-06-16T08:24:18.5515046Z             {
2026-06-16T08:24:18.5515165Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.5515251Z               "line": 1171
2026-06-16T08:24:18.5515341Z             },
2026-06-16T08:24:18.5515417Z             {
2026-06-16T08:24:18.5515547Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5515628Z               "line": 1488
2026-06-16T08:24:18.5515708Z             },
2026-06-16T08:24:18.5515791Z             {
2026-06-16T08:24:18.5515895Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5515989Z               "line": 152
2026-06-16T08:24:18.5516066Z             },
2026-06-16T08:24:18.5516153Z             {
2026-06-16T08:24:18.5516267Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5516357Z               "line": 175
2026-06-16T08:24:18.5516449Z             },
2026-06-16T08:24:18.5516610Z             {
2026-06-16T08:24:18.5516726Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5516807Z               "line": 186
2026-06-16T08:24:18.5516891Z             },
2026-06-16T08:24:18.5516972Z             {
2026-06-16T08:24:18.5517088Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5517243Z               "line": 202
2026-06-16T08:24:18.5517328Z             },
2026-06-16T08:24:18.5517415Z             {
2026-06-16T08:24:18.5517513Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T08:24:18.5517613Z               "line": 216
2026-06-16T08:24:18.5517694Z             },
2026-06-16T08:24:18.5517771Z             {
2026-06-16T08:24:18.5517880Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T08:24:18.5517965Z               "line": 137
2026-06-16T08:24:18.5518053Z             },
2026-06-16T08:24:18.5518123Z             {
2026-06-16T08:24:18.5518232Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5518324Z               "line": 7057
2026-06-16T08:24:18.5518409Z             },
2026-06-16T08:24:18.5518500Z             {
2026-06-16T08:24:18.5518604Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-16T08:24:18.5518687Z               "line": 30
2026-06-16T08:24:18.5518766Z             },
2026-06-16T08:24:18.5518857Z             {
2026-06-16T08:24:18.5519025Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-16T08:24:18.5519119Z               "line": 73
2026-06-16T08:24:18.5519196Z             }
2026-06-16T08:24:18.5519273Z           ]
2026-06-16T08:24:18.5519364Z         }
2026-06-16T08:24:18.5519443Z       }
2026-06-16T08:24:18.5519525Z     },
2026-06-16T08:24:18.5519607Z     {
2026-06-16T08:24:18.5519711Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-16T08:24:18.5519967Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-16T08:24:18.5520061Z       "requiredStages": [
2026-06-16T08:24:18.5520156Z         "impl",
2026-06-16T08:24:18.5520241Z         "unit"
2026-06-16T08:24:18.5520323Z       ],
2026-06-16T08:24:18.5520404Z       "stages": {
2026-06-16T08:24:18.5520494Z         "doc": {
2026-06-16T08:24:18.5520590Z           "complete": true,
2026-06-16T08:24:18.5520676Z           "evidence": [
2026-06-16T08:24:18.5520766Z             {
2026-06-16T08:24:18.5520871Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5520962Z               "line": 133
2026-06-16T08:24:18.5521043Z             }
2026-06-16T08:24:18.5521128Z           ]
2026-06-16T08:24:18.5521205Z         },
2026-06-16T08:24:18.5521286Z         "impl": {
2026-06-16T08:24:18.5521376Z           "complete": true,
2026-06-16T08:24:18.5521452Z           "evidence": [
2026-06-16T08:24:18.5521539Z             {
2026-06-16T08:24:18.5521658Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.5521743Z               "line": 65
2026-06-16T08:24:18.5521825Z             },
2026-06-16T08:24:18.5521911Z             {
2026-06-16T08:24:18.5522029Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5522110Z               "line": 17
2026-06-16T08:24:18.5522193Z             },
2026-06-16T08:24:18.5522273Z             {
2026-06-16T08:24:18.5522397Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5522493Z               "line": 146
2026-06-16T08:24:18.5522574Z             },
2026-06-16T08:24:18.5522658Z             {
2026-06-16T08:24:18.5522767Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5522858Z               "line": 241
2026-06-16T08:24:18.5522940Z             },
2026-06-16T08:24:18.5523016Z             {
2026-06-16T08:24:18.5523125Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5523212Z               "line": 340
2026-06-16T08:24:18.5523293Z             },
2026-06-16T08:24:18.5523372Z             {
2026-06-16T08:24:18.5523483Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5523574Z               "line": 32
2026-06-16T08:24:18.5523769Z             },
2026-06-16T08:24:18.5523846Z             {
2026-06-16T08:24:18.5523951Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5524045Z               "line": 1221
2026-06-16T08:24:18.5524118Z             },
2026-06-16T08:24:18.5524298Z             {
2026-06-16T08:24:18.5524399Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5524485Z               "line": 5498
2026-06-16T08:24:18.5524565Z             },
2026-06-16T08:24:18.5524641Z             {
2026-06-16T08:24:18.5524743Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5524833Z               "line": 5780
2026-06-16T08:24:18.5524922Z             }
2026-06-16T08:24:18.5525003Z           ]
2026-06-16T08:24:18.5525084Z         },
2026-06-16T08:24:18.5525164Z         "int": {
2026-06-16T08:24:18.5525248Z           "complete": false,
2026-06-16T08:24:18.5525353Z           "evidence": []
2026-06-16T08:24:18.5525430Z         },
2026-06-16T08:24:18.5525517Z         "unit": {
2026-06-16T08:24:18.5525606Z           "complete": true,
2026-06-16T08:24:18.5525682Z           "evidence": [
2026-06-16T08:24:18.5525774Z             {
2026-06-16T08:24:18.5525883Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5525973Z               "line": 94
2026-06-16T08:24:18.5526065Z             },
2026-06-16T08:24:18.5526150Z             {
2026-06-16T08:24:18.5526264Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5526351Z               "line": 111
2026-06-16T08:24:18.5526441Z             },
2026-06-16T08:24:18.5526522Z             {
2026-06-16T08:24:18.5526631Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5526718Z               "line": 124
2026-06-16T08:24:18.5526808Z             },
2026-06-16T08:24:18.5526888Z             {
2026-06-16T08:24:18.5526990Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5527071Z               "line": 134
2026-06-16T08:24:18.5527151Z             },
2026-06-16T08:24:18.5527232Z             {
2026-06-16T08:24:18.5527338Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5527432Z               "line": 144
2026-06-16T08:24:18.5527523Z             },
2026-06-16T08:24:18.5527605Z             {
2026-06-16T08:24:18.5527715Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T08:24:18.5527803Z               "line": 156
2026-06-16T08:24:18.5527884Z             },
2026-06-16T08:24:18.5527960Z             {
2026-06-16T08:24:18.5528092Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5530797Z               "line": 746
2026-06-16T08:24:18.5530912Z             },
2026-06-16T08:24:18.5530992Z             {
2026-06-16T08:24:18.5531126Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5531222Z               "line": 309
2026-06-16T08:24:18.5531302Z             }
2026-06-16T08:24:18.5531383Z           ]
2026-06-16T08:24:18.5531465Z         }
2026-06-16T08:24:18.5531546Z       }
2026-06-16T08:24:18.5531641Z     },
2026-06-16T08:24:18.5531716Z     {
2026-06-16T08:24:18.5531832Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-16T08:24:18.5531970Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-16T08:24:18.5532065Z       "requiredStages": [
2026-06-16T08:24:18.5532147Z         "impl",
2026-06-16T08:24:18.5532222Z         "unit"
2026-06-16T08:24:18.5532303Z       ],
2026-06-16T08:24:18.5532385Z       "stages": {
2026-06-16T08:24:18.5532462Z         "doc": {
2026-06-16T08:24:18.5532556Z           "complete": false,
2026-06-16T08:24:18.5532647Z           "evidence": []
2026-06-16T08:24:18.5532724Z         },
2026-06-16T08:24:18.5532805Z         "impl": {
2026-06-16T08:24:18.5532899Z           "complete": true,
2026-06-16T08:24:18.5532981Z           "evidence": [
2026-06-16T08:24:18.5533058Z             {
2026-06-16T08:24:18.5533176Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.5533261Z               "line": 128
2026-06-16T08:24:18.5533342Z             }
2026-06-16T08:24:18.5533547Z           ]
2026-06-16T08:24:18.5533623Z         },
2026-06-16T08:24:18.5533710Z         "int": {
2026-06-16T08:24:18.5533810Z           "complete": false,
2026-06-16T08:24:18.5533890Z           "evidence": []
2026-06-16T08:24:18.5533976Z         },
2026-06-16T08:24:18.5534158Z         "unit": {
2026-06-16T08:24:18.5534248Z           "complete": true,
2026-06-16T08:24:18.5534339Z           "evidence": [
2026-06-16T08:24:18.5534420Z             {
2026-06-16T08:24:18.5534539Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.5534620Z               "line": 205
2026-06-16T08:24:18.5534711Z             }
2026-06-16T08:24:18.5534792Z           ]
2026-06-16T08:24:18.5534873Z         }
2026-06-16T08:24:18.5534954Z       }
2026-06-16T08:24:18.5535036Z     },
2026-06-16T08:24:18.5535120Z     {
2026-06-16T08:24:18.5535235Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-16T08:24:18.5535388Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-16T08:24:18.5535491Z       "requiredStages": [
2026-06-16T08:24:18.5535572Z         "impl",
2026-06-16T08:24:18.5535649Z         "unit"
2026-06-16T08:24:18.5535729Z       ],
2026-06-16T08:24:18.5535809Z       "stages": {
2026-06-16T08:24:18.5535889Z         "doc": {
2026-06-16T08:24:18.5535980Z           "complete": false,
2026-06-16T08:24:18.5536077Z           "evidence": []
2026-06-16T08:24:18.5536156Z         },
2026-06-16T08:24:18.5536252Z         "impl": {
2026-06-16T08:24:18.5536344Z           "complete": true,
2026-06-16T08:24:18.5536429Z           "evidence": [
2026-06-16T08:24:18.5536509Z             {
2026-06-16T08:24:18.5536630Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5536720Z               "line": 263
2026-06-16T08:24:18.5536800Z             },
2026-06-16T08:24:18.5536887Z             {
2026-06-16T08:24:18.5536997Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5537087Z               "line": 274
2026-06-16T08:24:18.5537168Z             },
2026-06-16T08:24:18.5537249Z             {
2026-06-16T08:24:18.5537363Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5537444Z               "line": 292
2026-06-16T08:24:18.5537531Z             }
2026-06-16T08:24:18.5537607Z           ]
2026-06-16T08:24:18.5537696Z         },
2026-06-16T08:24:18.5537777Z         "int": {
2026-06-16T08:24:18.5537870Z           "complete": false,
2026-06-16T08:24:18.5537964Z           "evidence": []
2026-06-16T08:24:18.5538045Z         },
2026-06-16T08:24:18.5538127Z         "unit": {
2026-06-16T08:24:18.5538218Z           "complete": true,
2026-06-16T08:24:18.5538307Z           "evidence": [
2026-06-16T08:24:18.5538392Z             {
2026-06-16T08:24:18.5538507Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5538587Z               "line": 316
2026-06-16T08:24:18.5538666Z             },
2026-06-16T08:24:18.5538752Z             {
2026-06-16T08:24:18.5538852Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5539014Z               "line": 337
2026-06-16T08:24:18.5539095Z             },
2026-06-16T08:24:18.5539168Z             {
2026-06-16T08:24:18.5539268Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5539352Z               "line": 617
2026-06-16T08:24:18.5539439Z             },
2026-06-16T08:24:18.5539516Z             {
2026-06-16T08:24:18.5539625Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5539700Z               "line": 628
2026-06-16T08:24:18.5539783Z             },
2026-06-16T08:24:18.5539864Z             {
2026-06-16T08:24:18.5539968Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5540058Z               "line": 641
2026-06-16T08:24:18.5540136Z             }
2026-06-16T08:24:18.5540216Z           ]
2026-06-16T08:24:18.5540292Z         }
2026-06-16T08:24:18.5540383Z       }
2026-06-16T08:24:18.5540470Z     },
2026-06-16T08:24:18.5540540Z     {
2026-06-16T08:24:18.5540659Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-16T08:24:18.5541362Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-16T08:24:18.5541571Z       "requiredStages": [
2026-06-16T08:24:18.5541667Z         "impl",
2026-06-16T08:24:18.5541749Z         "unit"
2026-06-16T08:24:18.5541830Z       ],
2026-06-16T08:24:18.5541914Z       "stages": {
2026-06-16T08:24:18.5542001Z         "doc": {
2026-06-16T08:24:18.5542078Z           "complete": false,
2026-06-16T08:24:18.5542168Z           "evidence": []
2026-06-16T08:24:18.5542248Z         },
2026-06-16T08:24:18.5542326Z         "impl": {
2026-06-16T08:24:18.5542420Z           "complete": true,
2026-06-16T08:24:18.5542502Z           "evidence": [
2026-06-16T08:24:18.5542587Z             {
2026-06-16T08:24:18.5542703Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5542797Z               "line": 759
2026-06-16T08:24:18.5542873Z             }
2026-06-16T08:24:18.5542955Z           ]
2026-06-16T08:24:18.5543032Z         },
2026-06-16T08:24:18.5543116Z         "int": {
2026-06-16T08:24:18.5543202Z           "complete": false,
2026-06-16T08:24:18.5543284Z           "evidence": []
2026-06-16T08:24:18.5543361Z         },
2026-06-16T08:24:18.5543445Z         "unit": {
2026-06-16T08:24:18.5543522Z           "complete": true,
2026-06-16T08:24:18.5543604Z           "evidence": [
2026-06-16T08:24:18.5543676Z             {
2026-06-16T08:24:18.5543797Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5543882Z               "line": 873
2026-06-16T08:24:18.5543965Z             }
2026-06-16T08:24:18.5544046Z           ]
2026-06-16T08:24:18.5544126Z         }
2026-06-16T08:24:18.5544202Z       }
2026-06-16T08:24:18.5544284Z     },
2026-06-16T08:24:18.5544360Z     {
2026-06-16T08:24:18.5544465Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-16T08:24:18.5544680Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-16T08:24:18.5544774Z       "requiredStages": [
2026-06-16T08:24:18.5544856Z         "impl",
2026-06-16T08:24:18.5544938Z         "unit"
2026-06-16T08:24:18.5545018Z       ],
2026-06-16T08:24:18.5545099Z       "stages": {
2026-06-16T08:24:18.5545180Z         "doc": {
2026-06-16T08:24:18.5545276Z           "complete": false,
2026-06-16T08:24:18.5545366Z           "evidence": []
2026-06-16T08:24:18.5545438Z         },
2026-06-16T08:24:18.5545515Z         "impl": {
2026-06-16T08:24:18.5545605Z           "complete": true,
2026-06-16T08:24:18.5545695Z           "evidence": [
2026-06-16T08:24:18.5545776Z             {
2026-06-16T08:24:18.5545892Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5545981Z               "line": 14
2026-06-16T08:24:18.5546061Z             },
2026-06-16T08:24:18.5546147Z             {
2026-06-16T08:24:18.5546256Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.5546350Z               "line": 495
2026-06-16T08:24:18.5546430Z             }
2026-06-16T08:24:18.5546517Z           ]
2026-06-16T08:24:18.5546598Z         },
2026-06-16T08:24:18.5546684Z         "int": {
2026-06-16T08:24:18.5546774Z           "complete": false,
2026-06-16T08:24:18.5546860Z           "evidence": []
2026-06-16T08:24:18.5546946Z         },
2026-06-16T08:24:18.5547027Z         "unit": {
2026-06-16T08:24:18.5547112Z           "complete": true,
2026-06-16T08:24:18.5547194Z           "evidence": [
2026-06-16T08:24:18.5547270Z             {
2026-06-16T08:24:18.5547384Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5547467Z               "line": 130
2026-06-16T08:24:18.5547542Z             },
2026-06-16T08:24:18.5547623Z             {
2026-06-16T08:24:18.5547723Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5547805Z               "line": 138
2026-06-16T08:24:18.5547890Z             },
2026-06-16T08:24:18.5547971Z             {
2026-06-16T08:24:18.5548148Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5548233Z               "line": 146
2026-06-16T08:24:18.5548310Z             },
2026-06-16T08:24:18.5548382Z             {
2026-06-16T08:24:18.5548477Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5548634Z               "line": 154
2026-06-16T08:24:18.5548720Z             },
2026-06-16T08:24:18.5548797Z             {
2026-06-16T08:24:18.5548910Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5549047Z               "line": 162
2026-06-16T08:24:18.5549124Z             },
2026-06-16T08:24:18.5549203Z             {
2026-06-16T08:24:18.5549302Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T08:24:18.5549384Z               "line": 170
2026-06-16T08:24:18.5549465Z             }
2026-06-16T08:24:18.5549546Z           ]
2026-06-16T08:24:18.5549631Z         }
2026-06-16T08:24:18.5549713Z       }
2026-06-16T08:24:18.5549794Z     },
2026-06-16T08:24:18.5549870Z     {
2026-06-16T08:24:18.5549980Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-16T08:24:18.5550934Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-16T08:24:18.5551030Z       "requiredStages": [
2026-06-16T08:24:18.5551114Z         "impl",
2026-06-16T08:24:18.5551195Z         "unit"
2026-06-16T08:24:18.5551273Z       ],
2026-06-16T08:24:18.5551354Z       "stages": {
2026-06-16T08:24:18.5551434Z         "doc": {
2026-06-16T08:24:18.5551524Z           "complete": false,
2026-06-16T08:24:18.5551605Z           "evidence": []
2026-06-16T08:24:18.5551686Z         },
2026-06-16T08:24:18.5551760Z         "impl": {
2026-06-16T08:24:18.5551855Z           "complete": true,
2026-06-16T08:24:18.5551932Z           "evidence": [
2026-06-16T08:24:18.5552018Z             {
2026-06-16T08:24:18.5552169Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5552265Z               "line": 34
2026-06-16T08:24:18.5552347Z             }
2026-06-16T08:24:18.5552423Z           ]
2026-06-16T08:24:18.5552508Z         },
2026-06-16T08:24:18.5552580Z         "int": {
2026-06-16T08:24:18.5552675Z           "complete": false,
2026-06-16T08:24:18.5552761Z           "evidence": []
2026-06-16T08:24:18.5552842Z         },
2026-06-16T08:24:18.5552924Z         "unit": {
2026-06-16T08:24:18.5553013Z           "complete": true,
2026-06-16T08:24:18.5553090Z           "evidence": [
2026-06-16T08:24:18.5553166Z             {
2026-06-16T08:24:18.5553310Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5553391Z               "line": 188
2026-06-16T08:24:18.5553472Z             },
2026-06-16T08:24:18.5553554Z             {
2026-06-16T08:24:18.5553681Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5553772Z               "line": 200
2026-06-16T08:24:18.5553854Z             },
2026-06-16T08:24:18.5553930Z             {
2026-06-16T08:24:18.5554058Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5554145Z               "line": 211
2026-06-16T08:24:18.5554236Z             },
2026-06-16T08:24:18.5554315Z             {
2026-06-16T08:24:18.5554447Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5554520Z               "line": 253
2026-06-16T08:24:18.5554602Z             },
2026-06-16T08:24:18.5554677Z             {
2026-06-16T08:24:18.5554801Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5554892Z               "line": 277
2026-06-16T08:24:18.5554973Z             },
2026-06-16T08:24:18.5555058Z             {
2026-06-16T08:24:18.5555179Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5555269Z               "line": 300
2026-06-16T08:24:18.5555349Z             },
2026-06-16T08:24:18.5555569Z             {
2026-06-16T08:24:18.5555697Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T08:24:18.5555779Z               "line": 316
2026-06-16T08:24:18.5555860Z             }
2026-06-16T08:24:18.5555941Z           ]
2026-06-16T08:24:18.5556104Z         }
2026-06-16T08:24:18.5556189Z       }
2026-06-16T08:24:18.5556269Z     },
2026-06-16T08:24:18.5556355Z     {
2026-06-16T08:24:18.5556466Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-16T08:24:18.5556990Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-16T08:24:18.5557096Z       "requiredStages": [
2026-06-16T08:24:18.5557173Z         "impl",
2026-06-16T08:24:18.5557258Z         "unit"
2026-06-16T08:24:18.5557334Z       ],
2026-06-16T08:24:18.5557416Z       "stages": {
2026-06-16T08:24:18.5557492Z         "doc": {
2026-06-16T08:24:18.5557596Z           "complete": false,
2026-06-16T08:24:18.5557682Z           "evidence": []
2026-06-16T08:24:18.5557764Z         },
2026-06-16T08:24:18.5557845Z         "impl": {
2026-06-16T08:24:18.5557925Z           "complete": true,
2026-06-16T08:24:18.5558017Z           "evidence": [
2026-06-16T08:24:18.5558093Z             {
2026-06-16T08:24:18.5558212Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5558293Z               "line": 29
2026-06-16T08:24:18.5558379Z             },
2026-06-16T08:24:18.5558455Z             {
2026-06-16T08:24:18.5558565Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5558656Z               "line": 174
2026-06-16T08:24:18.5558737Z             },
2026-06-16T08:24:18.5558812Z             {
2026-06-16T08:24:18.5558922Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5559089Z               "line": 194
2026-06-16T08:24:18.5559170Z             },
2026-06-16T08:24:18.5559257Z             {
2026-06-16T08:24:18.5559367Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5559451Z               "line": 222
2026-06-16T08:24:18.5559531Z             }
2026-06-16T08:24:18.5559612Z           ]
2026-06-16T08:24:18.5559688Z         },
2026-06-16T08:24:18.5559772Z         "int": {
2026-06-16T08:24:18.5559853Z           "complete": false,
2026-06-16T08:24:18.5559944Z           "evidence": []
2026-06-16T08:24:18.5560026Z         },
2026-06-16T08:24:18.5560101Z         "unit": {
2026-06-16T08:24:18.5560196Z           "complete": true,
2026-06-16T08:24:18.5560278Z           "evidence": [
2026-06-16T08:24:18.5560359Z             {
2026-06-16T08:24:18.5560468Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5560559Z               "line": 329
2026-06-16T08:24:18.5560641Z             },
2026-06-16T08:24:18.5560712Z             {
2026-06-16T08:24:18.5560820Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5560908Z               "line": 344
2026-06-16T08:24:18.5560984Z             },
2026-06-16T08:24:18.5561065Z             {
2026-06-16T08:24:18.5561174Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5561251Z               "line": 417
2026-06-16T08:24:18.5561336Z             },
2026-06-16T08:24:18.5561422Z             {
2026-06-16T08:24:18.5561528Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5561609Z               "line": 433
2026-06-16T08:24:18.5561689Z             },
2026-06-16T08:24:18.5561765Z             {
2026-06-16T08:24:18.5561876Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5561962Z               "line": 492
2026-06-16T08:24:18.5562041Z             },
2026-06-16T08:24:18.5562117Z             {
2026-06-16T08:24:18.5562222Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5562316Z               "line": 506
2026-06-16T08:24:18.5562396Z             },
2026-06-16T08:24:18.5562477Z             {
2026-06-16T08:24:18.5562691Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5562777Z               "line": 517
2026-06-16T08:24:18.5562855Z             },
2026-06-16T08:24:18.5562940Z             {
2026-06-16T08:24:18.5563049Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5563236Z               "line": 528
2026-06-16T08:24:18.5563312Z             }
2026-06-16T08:24:18.5563397Z           ]
2026-06-16T08:24:18.5563470Z         }
2026-06-16T08:24:18.5563555Z       }
2026-06-16T08:24:18.5563632Z     },
2026-06-16T08:24:18.5563712Z     {
2026-06-16T08:24:18.5563837Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-16T08:24:18.5564533Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-16T08:24:18.5564632Z       "requiredStages": [
2026-06-16T08:24:18.5564725Z         "impl",
2026-06-16T08:24:18.5564801Z         "unit"
2026-06-16T08:24:18.5564880Z       ],
2026-06-16T08:24:18.5564961Z       "stages": {
2026-06-16T08:24:18.5565042Z         "doc": {
2026-06-16T08:24:18.5565133Z           "complete": false,
2026-06-16T08:24:18.5565223Z           "evidence": []
2026-06-16T08:24:18.5565313Z         },
2026-06-16T08:24:18.5565394Z         "impl": {
2026-06-16T08:24:18.5565490Z           "complete": true,
2026-06-16T08:24:18.5565570Z           "evidence": [
2026-06-16T08:24:18.5565656Z             {
2026-06-16T08:24:18.5565790Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5565871Z               "line": 27
2026-06-16T08:24:18.5565957Z             },
2026-06-16T08:24:18.5566044Z             {
2026-06-16T08:24:18.5566177Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5566262Z               "line": 110
2026-06-16T08:24:18.5566344Z             },
2026-06-16T08:24:18.5566429Z             {
2026-06-16T08:24:18.5566548Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5566645Z               "line": 153
2026-06-16T08:24:18.5566726Z             },
2026-06-16T08:24:18.5566805Z             {
2026-06-16T08:24:18.5566930Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5567022Z               "line": 182
2026-06-16T08:24:18.5567101Z             },
2026-06-16T08:24:18.5567177Z             {
2026-06-16T08:24:18.5567325Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5567414Z               "line": 31
2026-06-16T08:24:18.5567494Z             },
2026-06-16T08:24:18.5567574Z             {
2026-06-16T08:24:18.5567714Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5567804Z               "line": 113
2026-06-16T08:24:18.5567884Z             },
2026-06-16T08:24:18.5567966Z             {
2026-06-16T08:24:18.5568099Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5568199Z               "line": 138
2026-06-16T08:24:18.5568277Z             }
2026-06-16T08:24:18.5568362Z           ]
2026-06-16T08:24:18.5568442Z         },
2026-06-16T08:24:18.5568518Z         "int": {
2026-06-16T08:24:18.5568620Z           "complete": false,
2026-06-16T08:24:18.5568715Z           "evidence": []
2026-06-16T08:24:18.5568795Z         },
2026-06-16T08:24:18.5568877Z         "unit": {
2026-06-16T08:24:18.5569044Z           "complete": true,
2026-06-16T08:24:18.5569129Z           "evidence": [
2026-06-16T08:24:18.5569206Z             {
2026-06-16T08:24:18.5569339Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5569425Z               "line": 261
2026-06-16T08:24:18.5569502Z             },
2026-06-16T08:24:18.5569588Z             {
2026-06-16T08:24:18.5569716Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5569812Z               "line": 276
2026-06-16T08:24:18.5569889Z             },
2026-06-16T08:24:18.5570077Z             {
2026-06-16T08:24:18.5570201Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5570290Z               "line": 293
2026-06-16T08:24:18.5570376Z             },
2026-06-16T08:24:18.5570456Z             {
2026-06-16T08:24:18.5570676Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5570761Z               "line": 310
2026-06-16T08:24:18.5570834Z             },
2026-06-16T08:24:18.5570910Z             {
2026-06-16T08:24:18.5571033Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5571119Z               "line": 327
2026-06-16T08:24:18.5571201Z             },
2026-06-16T08:24:18.5571282Z             {
2026-06-16T08:24:18.5571400Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.5571496Z               "line": 366
2026-06-16T08:24:18.5571577Z             },
2026-06-16T08:24:18.5571663Z             {
2026-06-16T08:24:18.5571807Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5571896Z               "line": 179
2026-06-16T08:24:18.5571977Z             },
2026-06-16T08:24:18.5572059Z             {
2026-06-16T08:24:18.5572193Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5572282Z               "line": 194
2026-06-16T08:24:18.5572364Z             },
2026-06-16T08:24:18.5572441Z             {
2026-06-16T08:24:18.5572573Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5572667Z               "line": 204
2026-06-16T08:24:18.5572744Z             },
2026-06-16T08:24:18.5572820Z             {
2026-06-16T08:24:18.5572951Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5573037Z               "line": 259
2026-06-16T08:24:18.5573114Z             },
2026-06-16T08:24:18.5573196Z             {
2026-06-16T08:24:18.5573328Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5573415Z               "line": 269
2026-06-16T08:24:18.5573495Z             },
2026-06-16T08:24:18.5573576Z             {
2026-06-16T08:24:18.5573701Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.5573796Z               "line": 283
2026-06-16T08:24:18.5573872Z             }
2026-06-16T08:24:18.5573947Z           ]
2026-06-16T08:24:18.5574025Z         }
2026-06-16T08:24:18.5574106Z       }
2026-06-16T08:24:18.5574187Z     },
2026-06-16T08:24:18.5574267Z     {
2026-06-16T08:24:18.5574388Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-16T08:24:18.5574563Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-16T08:24:18.5574660Z       "requiredStages": [],
2026-06-16T08:24:18.5574740Z       "stages": {
2026-06-16T08:24:18.5574830Z         "doc": {
2026-06-16T08:24:18.5574921Z           "complete": false,
2026-06-16T08:24:18.5574998Z           "evidence": []
2026-06-16T08:24:18.5575088Z         },
2026-06-16T08:24:18.5575164Z         "impl": {
2026-06-16T08:24:18.5575260Z           "complete": false,
2026-06-16T08:24:18.5575342Z           "evidence": []
2026-06-16T08:24:18.5575422Z         },
2026-06-16T08:24:18.5575511Z         "int": {
2026-06-16T08:24:18.5575602Z           "complete": false,
2026-06-16T08:24:18.5575697Z           "evidence": []
2026-06-16T08:24:18.5575779Z         },
2026-06-16T08:24:18.5575859Z         "unit": {
2026-06-16T08:24:18.5575941Z           "complete": false,
2026-06-16T08:24:18.5576036Z           "evidence": []
2026-06-16T08:24:18.5576121Z         }
2026-06-16T08:24:18.5576207Z       }
2026-06-16T08:24:18.5576294Z     },
2026-06-16T08:24:18.5576374Z     {
2026-06-16T08:24:18.5576507Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-16T08:24:18.5577300Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-16T08:24:18.5577471Z       "requiredStages": [
2026-06-16T08:24:18.5577558Z         "impl",
2026-06-16T08:24:18.5577638Z         "unit"
2026-06-16T08:24:18.5577713Z       ],
2026-06-16T08:24:18.5577789Z       "stages": {
2026-06-16T08:24:18.5577880Z         "doc": {
2026-06-16T08:24:18.5578059Z           "complete": false,
2026-06-16T08:24:18.5578139Z           "evidence": []
2026-06-16T08:24:18.5578216Z         },
2026-06-16T08:24:18.5578298Z         "impl": {
2026-06-16T08:24:18.5578392Z           "complete": true,
2026-06-16T08:24:18.5578474Z           "evidence": [
2026-06-16T08:24:18.5578555Z             {
2026-06-16T08:24:18.5578678Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5578768Z               "line": 26
2026-06-16T08:24:18.5578847Z             },
2026-06-16T08:24:18.5578927Z             {
2026-06-16T08:24:18.5579132Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5579222Z               "line": 95
2026-06-16T08:24:18.5579317Z             },
2026-06-16T08:24:18.5579398Z             {
2026-06-16T08:24:18.5579505Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5579599Z               "line": 166
2026-06-16T08:24:18.5579680Z             },
2026-06-16T08:24:18.5579771Z             {
2026-06-16T08:24:18.5579889Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5579985Z               "line": 19
2026-06-16T08:24:18.5580062Z             },
2026-06-16T08:24:18.5580139Z             {
2026-06-16T08:24:18.5580252Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5580333Z               "line": 50
2026-06-16T08:24:18.5580415Z             },
2026-06-16T08:24:18.5580501Z             {
2026-06-16T08:24:18.5580619Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T08:24:18.5580709Z               "line": 18
2026-06-16T08:24:18.5580785Z             },
2026-06-16T08:24:18.5580874Z             {
2026-06-16T08:24:18.5580978Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T08:24:18.5581069Z               "line": 71
2026-06-16T08:24:18.5581151Z             },
2026-06-16T08:24:18.5581236Z             {
2026-06-16T08:24:18.5581350Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.5581441Z               "line": 87
2026-06-16T08:24:18.5581522Z             }
2026-06-16T08:24:18.5581603Z           ]
2026-06-16T08:24:18.5581675Z         },
2026-06-16T08:24:18.5581756Z         "int": {
2026-06-16T08:24:18.5581842Z           "complete": false,
2026-06-16T08:24:18.5581932Z           "evidence": []
2026-06-16T08:24:18.5582008Z         },
2026-06-16T08:24:18.5582099Z         "unit": {
2026-06-16T08:24:18.5582194Z           "complete": true,
2026-06-16T08:24:18.5582289Z           "evidence": [
2026-06-16T08:24:18.5582372Z             {
2026-06-16T08:24:18.5582494Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5582585Z               "line": 289
2026-06-16T08:24:18.5582663Z             },
2026-06-16T08:24:18.5582753Z             {
2026-06-16T08:24:18.5582872Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5582963Z               "line": 314
2026-06-16T08:24:18.5583044Z             },
2026-06-16T08:24:18.5583119Z             {
2026-06-16T08:24:18.5583232Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5583314Z               "line": 350
2026-06-16T08:24:18.5583394Z             },
2026-06-16T08:24:18.5583474Z             {
2026-06-16T08:24:18.5583592Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5583674Z               "line": 418
2026-06-16T08:24:18.5583760Z             },
2026-06-16T08:24:18.5583840Z             {
2026-06-16T08:24:18.5583946Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5584042Z               "line": 429
2026-06-16T08:24:18.5584122Z             },
2026-06-16T08:24:18.5584208Z             {
2026-06-16T08:24:18.5584323Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5584532Z               "line": 460
2026-06-16T08:24:18.5584623Z             },
2026-06-16T08:24:18.5584704Z             {
2026-06-16T08:24:18.5584827Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.5585014Z               "line": 471
2026-06-16T08:24:18.5585104Z             },
2026-06-16T08:24:18.5585195Z             {
2026-06-16T08:24:18.5585310Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5585410Z               "line": 77
2026-06-16T08:24:18.5585481Z             },
2026-06-16T08:24:18.5585568Z             {
2026-06-16T08:24:18.5585686Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5585772Z               "line": 97
2026-06-16T08:24:18.5585854Z             },
2026-06-16T08:24:18.5585935Z             {
2026-06-16T08:24:18.5586052Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5586133Z               "line": 112
2026-06-16T08:24:18.5586224Z             },
2026-06-16T08:24:18.5586306Z             {
2026-06-16T08:24:18.5586433Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5586529Z               "line": 123
2026-06-16T08:24:18.5586605Z             },
2026-06-16T08:24:18.5586696Z             {
2026-06-16T08:24:18.5586801Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5586897Z               "line": 130
2026-06-16T08:24:18.5586978Z             },
2026-06-16T08:24:18.5587067Z             {
2026-06-16T08:24:18.5587183Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T08:24:18.5587272Z               "line": 145
2026-06-16T08:24:18.5587363Z             },
2026-06-16T08:24:18.5587445Z             {
2026-06-16T08:24:18.5587550Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T08:24:18.5587626Z               "line": 115
2026-06-16T08:24:18.5587711Z             },
2026-06-16T08:24:18.5587793Z             {
2026-06-16T08:24:18.5587898Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T08:24:18.5587983Z               "line": 130
2026-06-16T08:24:18.5588064Z             },
2026-06-16T08:24:18.5588142Z             {
2026-06-16T08:24:18.5588245Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.5588345Z               "line": 428
2026-06-16T08:24:18.5588416Z             }
2026-06-16T08:24:18.5588497Z           ]
2026-06-16T08:24:18.5588576Z         }
2026-06-16T08:24:18.5588652Z       }
2026-06-16T08:24:18.5588734Z     },
2026-06-16T08:24:18.5588810Z     {
2026-06-16T08:24:18.5588924Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-16T08:24:18.5589859Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-16T08:24:18.5589959Z       "requiredStages": [
2026-06-16T08:24:18.5590050Z         "doc",
2026-06-16T08:24:18.5590135Z         "impl",
2026-06-16T08:24:18.5590211Z         "unit"
2026-06-16T08:24:18.5590292Z       ],
2026-06-16T08:24:18.5590370Z       "stages": {
2026-06-16T08:24:18.5590454Z         "doc": {
2026-06-16T08:24:18.5590531Z           "complete": true,
2026-06-16T08:24:18.5590632Z           "evidence": [
2026-06-16T08:24:18.5590704Z             {
2026-06-16T08:24:18.5590816Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5590908Z               "line": 367
2026-06-16T08:24:18.5590990Z             }
2026-06-16T08:24:18.5591075Z           ]
2026-06-16T08:24:18.5591155Z         },
2026-06-16T08:24:18.5591230Z         "impl": {
2026-06-16T08:24:18.5591312Z           "complete": true,
2026-06-16T08:24:18.5591406Z           "evidence": [
2026-06-16T08:24:18.5591486Z             {
2026-06-16T08:24:18.5591601Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5591692Z               "line": 199
2026-06-16T08:24:18.5591777Z             },
2026-06-16T08:24:18.5591954Z             {
2026-06-16T08:24:18.5592069Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5592153Z               "line": 303
2026-06-16T08:24:18.5592240Z             },
2026-06-16T08:24:18.5592321Z             {
2026-06-16T08:24:18.5592525Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5592612Z               "line": 515
2026-06-16T08:24:18.5592697Z             },
2026-06-16T08:24:18.5592783Z             {
2026-06-16T08:24:18.5592898Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5592979Z               "line": 530
2026-06-16T08:24:18.5593059Z             },
2026-06-16T08:24:18.5593141Z             {
2026-06-16T08:24:18.5593242Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5593341Z               "line": 1127
2026-06-16T08:24:18.5593422Z             },
2026-06-16T08:24:18.5593514Z             {
2026-06-16T08:24:18.5593628Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5593717Z               "line": 443
2026-06-16T08:24:18.5593797Z             },
2026-06-16T08:24:18.5593879Z             {
2026-06-16T08:24:18.5593991Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5594081Z               "line": 590
2026-06-16T08:24:18.5594157Z             },
2026-06-16T08:24:18.5594244Z             {
2026-06-16T08:24:18.5594358Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5594448Z               "line": 731
2026-06-16T08:24:18.5594521Z             }
2026-06-16T08:24:18.5594611Z           ]
2026-06-16T08:24:18.5594691Z         },
2026-06-16T08:24:18.5594772Z         "int": {
2026-06-16T08:24:18.5594869Z           "complete": false,
2026-06-16T08:24:18.5594959Z           "evidence": []
2026-06-16T08:24:18.5595054Z         },
2026-06-16T08:24:18.5597690Z         "unit": {
2026-06-16T08:24:18.5597800Z           "complete": true,
2026-06-16T08:24:18.5597886Z           "evidence": [
2026-06-16T08:24:18.5597976Z             {
2026-06-16T08:24:18.5598110Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5598196Z               "line": 1155
2026-06-16T08:24:18.5598286Z             },
2026-06-16T08:24:18.5598354Z             {
2026-06-16T08:24:18.5598495Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-16T08:24:18.5598591Z               "line": 30
2026-06-16T08:24:18.5598683Z             }
2026-06-16T08:24:18.5598764Z           ]
2026-06-16T08:24:18.5598843Z         }
2026-06-16T08:24:18.5598924Z       }
2026-06-16T08:24:18.5599095Z     },
2026-06-16T08:24:18.5599179Z     {
2026-06-16T08:24:18.5599294Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-16T08:24:18.5599541Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-16T08:24:18.5599641Z       "requiredStages": [
2026-06-16T08:24:18.5599718Z         "impl",
2026-06-16T08:24:18.5599804Z         "unit"
2026-06-16T08:24:18.5599880Z       ],
2026-06-16T08:24:18.5599976Z       "stages": {
2026-06-16T08:24:18.5600056Z         "doc": {
2026-06-16T08:24:18.5600146Z           "complete": true,
2026-06-16T08:24:18.5600233Z           "evidence": [
2026-06-16T08:24:18.5600310Z             {
2026-06-16T08:24:18.5600424Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5600514Z               "line": 139
2026-06-16T08:24:18.5600601Z             }
2026-06-16T08:24:18.5600677Z           ]
2026-06-16T08:24:18.5600753Z         },
2026-06-16T08:24:18.5600833Z         "impl": {
2026-06-16T08:24:18.5600916Z           "complete": true,
2026-06-16T08:24:18.5600996Z           "evidence": [
2026-06-16T08:24:18.5601082Z             {
2026-06-16T08:24:18.5601192Z               "path": "crates/spt-store/src/db.rs",
2026-06-16T08:24:18.5601283Z               "line": 29
2026-06-16T08:24:18.5601358Z             },
2026-06-16T08:24:18.5601444Z             {
2026-06-16T08:24:18.5601550Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.5601777Z               "line": 101
2026-06-16T08:24:18.5601853Z             },
2026-06-16T08:24:18.5601934Z             {
2026-06-16T08:24:18.5602056Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5602136Z               "line": 30
2026-06-16T08:24:18.5602319Z             },
2026-06-16T08:24:18.5602399Z             {
2026-06-16T08:24:18.5602509Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5602595Z               "line": 48
2026-06-16T08:24:18.5602685Z             }
2026-06-16T08:24:18.5602756Z           ]
2026-06-16T08:24:18.5602834Z         },
2026-06-16T08:24:18.5602919Z         "int": {
2026-06-16T08:24:18.5603013Z           "complete": false,
2026-06-16T08:24:18.5603100Z           "evidence": []
2026-06-16T08:24:18.5603182Z         },
2026-06-16T08:24:18.5603267Z         "unit": {
2026-06-16T08:24:18.5603367Z           "complete": true,
2026-06-16T08:24:18.5603444Z           "evidence": [
2026-06-16T08:24:18.5603530Z             {
2026-06-16T08:24:18.5603653Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5603734Z               "line": 162
2026-06-16T08:24:18.5603816Z             }
2026-06-16T08:24:18.5603901Z           ]
2026-06-16T08:24:18.5603977Z         }
2026-06-16T08:24:18.5604059Z       }
2026-06-16T08:24:18.5604141Z     },
2026-06-16T08:24:18.5604220Z     {
2026-06-16T08:24:18.5604338Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-16T08:24:18.5604732Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-16T08:24:18.5604828Z       "requiredStages": [
2026-06-16T08:24:18.5604913Z         "doc",
2026-06-16T08:24:18.5604993Z         "impl",
2026-06-16T08:24:18.5605071Z         "unit"
2026-06-16T08:24:18.5605152Z       ],
2026-06-16T08:24:18.5605237Z       "stages": {
2026-06-16T08:24:18.5605313Z         "doc": {
2026-06-16T08:24:18.5605410Z           "complete": true,
2026-06-16T08:24:18.5605500Z           "evidence": [
2026-06-16T08:24:18.5605585Z             {
2026-06-16T08:24:18.5605691Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5605772Z               "line": 151
2026-06-16T08:24:18.5605853Z             }
2026-06-16T08:24:18.5605934Z           ]
2026-06-16T08:24:18.5606020Z         },
2026-06-16T08:24:18.5606105Z         "impl": {
2026-06-16T08:24:18.5606196Z           "complete": true,
2026-06-16T08:24:18.5606277Z           "evidence": [
2026-06-16T08:24:18.5606359Z             {
2026-06-16T08:24:18.5606477Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5606558Z               "line": 22
2026-06-16T08:24:18.5606645Z             }
2026-06-16T08:24:18.5606726Z           ]
2026-06-16T08:24:18.5606806Z         },
2026-06-16T08:24:18.5606897Z         "int": {
2026-06-16T08:24:18.5606994Z           "complete": false,
2026-06-16T08:24:18.5607088Z           "evidence": []
2026-06-16T08:24:18.5607168Z         },
2026-06-16T08:24:18.5607253Z         "unit": {
2026-06-16T08:24:18.5607349Z           "complete": true,
2026-06-16T08:24:18.5607426Z           "evidence": [
2026-06-16T08:24:18.5607506Z             {
2026-06-16T08:24:18.5607616Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5607698Z               "line": 298
2026-06-16T08:24:18.5607778Z             }
2026-06-16T08:24:18.5607858Z           ]
2026-06-16T08:24:18.5607936Z         }
2026-06-16T08:24:18.5608022Z       }
2026-06-16T08:24:18.5608098Z     },
2026-06-16T08:24:18.5608182Z     {
2026-06-16T08:24:18.5608298Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-16T08:24:18.5608741Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-16T08:24:18.5608836Z       "requiredStages": [
2026-06-16T08:24:18.5608919Z         "impl",
2026-06-16T08:24:18.5609108Z         "unit"
2026-06-16T08:24:18.5609195Z       ],
2026-06-16T08:24:18.5609272Z       "stages": {
2026-06-16T08:24:18.5609465Z         "doc": {
2026-06-16T08:24:18.5609541Z           "complete": true,
2026-06-16T08:24:18.5609641Z           "evidence": [
2026-06-16T08:24:18.5609720Z             {
2026-06-16T08:24:18.5609815Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5609911Z               "line": 145
2026-06-16T08:24:18.5610096Z             }
2026-06-16T08:24:18.5610183Z           ]
2026-06-16T08:24:18.5610255Z         },
2026-06-16T08:24:18.5610340Z         "impl": {
2026-06-16T08:24:18.5610420Z           "complete": true,
2026-06-16T08:24:18.5610503Z           "evidence": [
2026-06-16T08:24:18.5610579Z             {
2026-06-16T08:24:18.5610702Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T08:24:18.5610783Z               "line": 160
2026-06-16T08:24:18.5610865Z             },
2026-06-16T08:24:18.5610950Z             {
2026-06-16T08:24:18.5611079Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5611156Z               "line": 200
2026-06-16T08:24:18.5611246Z             },
2026-06-16T08:24:18.5611327Z             {
2026-06-16T08:24:18.5611447Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5611533Z               "line": 298
2026-06-16T08:24:18.5611603Z             },
2026-06-16T08:24:18.5611694Z             {
2026-06-16T08:24:18.5611805Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T08:24:18.5611895Z               "line": 20
2026-06-16T08:24:18.5611976Z             }
2026-06-16T08:24:18.5612052Z           ]
2026-06-16T08:24:18.5612134Z         },
2026-06-16T08:24:18.5612214Z         "int": {
2026-06-16T08:24:18.5612308Z           "complete": false,
2026-06-16T08:24:18.5612384Z           "evidence": []
2026-06-16T08:24:18.5612465Z         },
2026-06-16T08:24:18.5612545Z         "unit": {
2026-06-16T08:24:18.5612639Z           "complete": true,
2026-06-16T08:24:18.5612721Z           "evidence": [
2026-06-16T08:24:18.5612807Z             {
2026-06-16T08:24:18.5612935Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5613025Z               "line": 885
2026-06-16T08:24:18.5613103Z             },
2026-06-16T08:24:18.5613189Z             {
2026-06-16T08:24:18.5613340Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-16T08:24:18.5613456Z               "line": 88
2026-06-16T08:24:18.5613541Z             },
2026-06-16T08:24:18.5613626Z             {
2026-06-16T08:24:18.5613742Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5613836Z               "line": 819
2026-06-16T08:24:18.5613908Z             },
2026-06-16T08:24:18.5613994Z             {
2026-06-16T08:24:18.5614104Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5614189Z               "line": 838
2026-06-16T08:24:18.5614275Z             },
2026-06-16T08:24:18.5614376Z             {
2026-06-16T08:24:18.5614503Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5614585Z               "line": 279
2026-06-16T08:24:18.5614672Z             },
2026-06-16T08:24:18.5614753Z             {
2026-06-16T08:24:18.5614851Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T08:24:18.5614946Z               "line": 82
2026-06-16T08:24:18.5615028Z             },
2026-06-16T08:24:18.5615107Z             {
2026-06-16T08:24:18.5615211Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T08:24:18.5615302Z               "line": 99
2026-06-16T08:24:18.5615383Z             },
2026-06-16T08:24:18.5615459Z             {
2026-06-16T08:24:18.5615568Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T08:24:18.5615641Z               "line": 119
2026-06-16T08:24:18.5615726Z             }
2026-06-16T08:24:18.5615807Z           ]
2026-06-16T08:24:18.5615892Z         }
2026-06-16T08:24:18.5615966Z       }
2026-06-16T08:24:18.5616046Z     },
2026-06-16T08:24:18.5616126Z     {
2026-06-16T08:24:18.5616237Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-16T08:24:18.5617573Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-16T08:24:18.5617818Z       "requiredStages": [
2026-06-16T08:24:18.5617900Z         "doc",
2026-06-16T08:24:18.5617977Z         "impl",
2026-06-16T08:24:18.5618057Z         "unit"
2026-06-16T08:24:18.5618142Z       ],
2026-06-16T08:24:18.5618220Z       "stages": {
2026-06-16T08:24:18.5618301Z         "doc": {
2026-06-16T08:24:18.5618395Z           "complete": true,
2026-06-16T08:24:18.5618477Z           "evidence": [
2026-06-16T08:24:18.5618553Z             {
2026-06-16T08:24:18.5618653Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5618738Z               "line": 157
2026-06-16T08:24:18.5618820Z             }
2026-06-16T08:24:18.5618901Z           ]
2026-06-16T08:24:18.5619053Z         },
2026-06-16T08:24:18.5619130Z         "impl": {
2026-06-16T08:24:18.5619226Z           "complete": true,
2026-06-16T08:24:18.5619301Z           "evidence": [
2026-06-16T08:24:18.5619391Z             {
2026-06-16T08:24:18.5619521Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.5619611Z               "line": 137
2026-06-16T08:24:18.5619697Z             },
2026-06-16T08:24:18.5619774Z             {
2026-06-16T08:24:18.5619906Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5620001Z               "line": 512
2026-06-16T08:24:18.5620087Z             },
2026-06-16T08:24:18.5620168Z             {
2026-06-16T08:24:18.5620285Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5620375Z               "line": 519
2026-06-16T08:24:18.5620457Z             },
2026-06-16T08:24:18.5620539Z             {
2026-06-16T08:24:18.5620661Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5620753Z               "line": 227
2026-06-16T08:24:18.5620834Z             }
2026-06-16T08:24:18.5620919Z           ]
2026-06-16T08:24:18.5621000Z         },
2026-06-16T08:24:18.5621077Z         "int": {
2026-06-16T08:24:18.5621168Z           "complete": false,
2026-06-16T08:24:18.5621258Z           "evidence": []
2026-06-16T08:24:18.5621329Z         },
2026-06-16T08:24:18.5621411Z         "unit": {
2026-06-16T08:24:18.5621492Z           "complete": true,
2026-06-16T08:24:18.5621577Z           "evidence": [
2026-06-16T08:24:18.5621654Z             {
2026-06-16T08:24:18.5621778Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5621868Z               "line": 1515
2026-06-16T08:24:18.5621949Z             },
2026-06-16T08:24:18.5622027Z             {
2026-06-16T08:24:18.5622154Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5622254Z               "line": 1573
2026-06-16T08:24:18.5622337Z             },
2026-06-16T08:24:18.5622417Z             {
2026-06-16T08:24:18.5622531Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5622613Z               "line": 851
2026-06-16T08:24:18.5622699Z             }
2026-06-16T08:24:18.5622774Z           ]
2026-06-16T08:24:18.5622854Z         }
2026-06-16T08:24:18.5622925Z       }
2026-06-16T08:24:18.5623006Z     },
2026-06-16T08:24:18.5623087Z     {
2026-06-16T08:24:18.5623204Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-16T08:24:18.5623391Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-16T08:24:18.5623486Z       "requiredStages": [
2026-06-16T08:24:18.5623567Z         "impl",
2026-06-16T08:24:18.5623649Z         "unit"
2026-06-16T08:24:18.5623729Z       ],
2026-06-16T08:24:18.5623805Z       "stages": {
2026-06-16T08:24:18.5623891Z         "doc": {
2026-06-16T08:24:18.5623983Z           "complete": false,
2026-06-16T08:24:18.5624172Z           "evidence": []
2026-06-16T08:24:18.5624254Z         },
2026-06-16T08:24:18.5624331Z         "impl": {
2026-06-16T08:24:18.5624421Z           "complete": true,
2026-06-16T08:24:18.5624496Z           "evidence": [
2026-06-16T08:24:18.5624579Z             {
2026-06-16T08:24:18.5624792Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5624869Z               "line": 15
2026-06-16T08:24:18.5624951Z             },
2026-06-16T08:24:18.5625031Z             {
2026-06-16T08:24:18.5625145Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5625227Z               "line": 55
2026-06-16T08:24:18.5625304Z             },
2026-06-16T08:24:18.5625388Z             {
2026-06-16T08:24:18.5625501Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5625588Z               "line": 66
2026-06-16T08:24:18.5625667Z             },
2026-06-16T08:24:18.5625752Z             {
2026-06-16T08:24:18.5625862Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5625939Z               "line": 115
2026-06-16T08:24:18.5626024Z             },
2026-06-16T08:24:18.5626105Z             {
2026-06-16T08:24:18.5626216Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5626296Z               "line": 138
2026-06-16T08:24:18.5626376Z             }
2026-06-16T08:24:18.5626457Z           ]
2026-06-16T08:24:18.5626540Z         },
2026-06-16T08:24:18.5626620Z         "int": {
2026-06-16T08:24:18.5626710Z           "complete": false,
2026-06-16T08:24:18.5626797Z           "evidence": []
2026-06-16T08:24:18.5626883Z         },
2026-06-16T08:24:18.5626968Z         "unit": {
2026-06-16T08:24:18.5627054Z           "complete": true,
2026-06-16T08:24:18.5627145Z           "evidence": [
2026-06-16T08:24:18.5627226Z             {
2026-06-16T08:24:18.5627335Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5627416Z               "line": 149
2026-06-16T08:24:18.5627499Z             },
2026-06-16T08:24:18.5627583Z             {
2026-06-16T08:24:18.5627693Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5627770Z               "line": 155
2026-06-16T08:24:18.5627851Z             },
2026-06-16T08:24:18.5627931Z             {
2026-06-16T08:24:18.5628046Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5628128Z               "line": 169
2026-06-16T08:24:18.5628213Z             },
2026-06-16T08:24:18.5628283Z             {
2026-06-16T08:24:18.5628393Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5628484Z               "line": 178
2026-06-16T08:24:18.5628569Z             },
2026-06-16T08:24:18.5628655Z             {
2026-06-16T08:24:18.5628765Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5628856Z               "line": 195
2026-06-16T08:24:18.5628931Z             },
2026-06-16T08:24:18.5629090Z             {
2026-06-16T08:24:18.5629209Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5629294Z               "line": 208
2026-06-16T08:24:18.5629371Z             },
2026-06-16T08:24:18.5629452Z             {
2026-06-16T08:24:18.5629575Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5629666Z               "line": 271
2026-06-16T08:24:18.5629762Z             },
2026-06-16T08:24:18.5629847Z             {
2026-06-16T08:24:18.5629956Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5630049Z               "line": 290
2026-06-16T08:24:18.5630129Z             },
2026-06-16T08:24:18.5630209Z             {
2026-06-16T08:24:18.5630325Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5630406Z               "line": 319
2026-06-16T08:24:18.5630490Z             }
2026-06-16T08:24:18.5630566Z           ]
2026-06-16T08:24:18.5630647Z         }
2026-06-16T08:24:18.5630728Z       }
2026-06-16T08:24:18.5630812Z     },
2026-06-16T08:24:18.5630892Z     {
2026-06-16T08:24:18.5631003Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-16T08:24:18.5631380Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-16T08:24:18.5631475Z       "requiredStages": [
2026-06-16T08:24:18.5631555Z         "impl",
2026-06-16T08:24:18.5631718Z         "unit",
2026-06-16T08:24:18.5631798Z         "int"
2026-06-16T08:24:18.5631879Z       ],
2026-06-16T08:24:18.5631962Z       "stages": {
2026-06-16T08:24:18.5632042Z         "doc": {
2026-06-16T08:24:18.5632137Z           "complete": false,
2026-06-16T08:24:18.5632223Z           "evidence": []
2026-06-16T08:24:18.5632305Z         },
2026-06-16T08:24:18.5632390Z         "impl": {
2026-06-16T08:24:18.5632481Z           "complete": true,
2026-06-16T08:24:18.5632562Z           "evidence": [
2026-06-16T08:24:18.5632648Z             {
2026-06-16T08:24:18.5632772Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5632868Z               "line": 447
2026-06-16T08:24:18.5632939Z             },
2026-06-16T08:24:18.5633029Z             {
2026-06-16T08:24:18.5633143Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5633226Z               "line": 867
2026-06-16T08:24:18.5633306Z             },
2026-06-16T08:24:18.5633391Z             {
2026-06-16T08:24:18.5633514Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5633600Z               "line": 912
2026-06-16T08:24:18.5633689Z             },
2026-06-16T08:24:18.5633764Z             {
2026-06-16T08:24:18.5633870Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.5633961Z               "line": 937
2026-06-16T08:24:18.5634042Z             },
2026-06-16T08:24:18.5634132Z             {
2026-06-16T08:24:18.5634242Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5634333Z               "line": 987
2026-06-16T08:24:18.5634412Z             },
2026-06-16T08:24:18.5634485Z             {
2026-06-16T08:24:18.5634604Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5634685Z               "line": 1113
2026-06-16T08:24:18.5634766Z             },
2026-06-16T08:24:18.5634848Z             {
2026-06-16T08:24:18.5634966Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5635061Z               "line": 1244
2026-06-16T08:24:18.5635139Z             },
2026-06-16T08:24:18.5635225Z             {
2026-06-16T08:24:18.5635343Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5635429Z               "line": 1292
2026-06-16T08:24:18.5635506Z             },
2026-06-16T08:24:18.5635591Z             {
2026-06-16T08:24:18.5635705Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5635783Z               "line": 46
2026-06-16T08:24:18.5635873Z             },
2026-06-16T08:24:18.5635952Z             {
2026-06-16T08:24:18.5636071Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5636157Z               "line": 167
2026-06-16T08:24:18.5636237Z             },
2026-06-16T08:24:18.5636326Z             {
2026-06-16T08:24:18.5636432Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.5636528Z               "line": 132
2026-06-16T08:24:18.5636612Z             },
2026-06-16T08:24:18.5636698Z             {
2026-06-16T08:24:18.5636814Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5636909Z               "line": 137
2026-06-16T08:24:18.5636994Z             },
2026-06-16T08:24:18.5637071Z             {
2026-06-16T08:24:18.5637185Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5637270Z               "line": 183
2026-06-16T08:24:18.5637357Z             }
2026-06-16T08:24:18.5637434Z           ]
2026-06-16T08:24:18.5637514Z         },
2026-06-16T08:24:18.5637599Z         "int": {
2026-06-16T08:24:18.5637686Z           "complete": true,
2026-06-16T08:24:18.5637768Z           "evidence": [
2026-06-16T08:24:18.5637848Z             {
2026-06-16T08:24:18.5637986Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-16T08:24:18.5638171Z               "line": 27
2026-06-16T08:24:18.5638253Z             },
2026-06-16T08:24:18.5638345Z             {
2026-06-16T08:24:18.5638467Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T08:24:18.5638558Z               "line": 129
2026-06-16T08:24:18.5638707Z             },
2026-06-16T08:24:18.5638792Z             {
2026-06-16T08:24:18.5638910Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-16T08:24:18.5639093Z               "line": 200
2026-06-16T08:24:18.5639181Z             }
2026-06-16T08:24:18.5639258Z           ]
2026-06-16T08:24:18.5639340Z         },
2026-06-16T08:24:18.5639421Z         "unit": {
2026-06-16T08:24:18.5639520Z           "complete": true,
2026-06-16T08:24:18.5639597Z           "evidence": [
2026-06-16T08:24:18.5639674Z             {
2026-06-16T08:24:18.5639797Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5639892Z               "line": 313
2026-06-16T08:24:18.5639984Z             },
2026-06-16T08:24:18.5640055Z             {
2026-06-16T08:24:18.5640178Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5640265Z               "line": 345
2026-06-16T08:24:18.5640346Z             },
2026-06-16T08:24:18.5640436Z             {
2026-06-16T08:24:18.5640551Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T08:24:18.5640642Z               "line": 366
2026-06-16T08:24:18.5640717Z             },
2026-06-16T08:24:18.5640798Z             {
2026-06-16T08:24:18.5640919Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5640999Z               "line": 508
2026-06-16T08:24:18.5641084Z             },
2026-06-16T08:24:18.5641159Z             {
2026-06-16T08:24:18.5641279Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T08:24:18.5641358Z               "line": 289
2026-06-16T08:24:18.5641439Z             },
2026-06-16T08:24:18.5641524Z             {
2026-06-16T08:24:18.5641625Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T08:24:18.5641730Z               "line": 230
2026-06-16T08:24:18.5641810Z             },
2026-06-16T08:24:18.5641902Z             {
2026-06-16T08:24:18.5642011Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5642110Z               "line": 526
2026-06-16T08:24:18.5642193Z             },
2026-06-16T08:24:18.5642273Z             {
2026-06-16T08:24:18.5642392Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.5642478Z               "line": 556
2026-06-16T08:24:18.5642555Z             }
2026-06-16T08:24:18.5642650Z           ]
2026-06-16T08:24:18.5642745Z         }
2026-06-16T08:24:18.5642832Z       }
2026-06-16T08:24:18.5642912Z     },
2026-06-16T08:24:18.5642998Z     {
2026-06-16T08:24:18.5643122Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-16T08:24:18.5644850Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-16T08:24:18.5644959Z       "requiredStages": [
2026-06-16T08:24:18.5645040Z         "doc",
2026-06-16T08:24:18.5645122Z         "impl",
2026-06-16T08:24:18.5645203Z         "unit"
2026-06-16T08:24:18.5645292Z       ],
2026-06-16T08:24:18.5645379Z       "stages": {
2026-06-16T08:24:18.5645465Z         "doc": {
2026-06-16T08:24:18.5645560Z           "complete": true,
2026-06-16T08:24:18.5645650Z           "evidence": [
2026-06-16T08:24:18.5645732Z             {
2026-06-16T08:24:18.5645836Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5645931Z               "line": 307
2026-06-16T08:24:18.5646132Z             }
2026-06-16T08:24:18.5646208Z           ]
2026-06-16T08:24:18.5646290Z         },
2026-06-16T08:24:18.5646367Z         "impl": {
2026-06-16T08:24:18.5646452Z           "complete": true,
2026-06-16T08:24:18.5646536Z           "evidence": [
2026-06-16T08:24:18.5646722Z             {
2026-06-16T08:24:18.5646872Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T08:24:18.5646958Z               "line": 33
2026-06-16T08:24:18.5647045Z             },
2026-06-16T08:24:18.5647126Z             {
2026-06-16T08:24:18.5647258Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T08:24:18.5647341Z               "line": 39
2026-06-16T08:24:18.5647426Z             }
2026-06-16T08:24:18.5647511Z           ]
2026-06-16T08:24:18.5647583Z         },
2026-06-16T08:24:18.5647665Z         "int": {
2026-06-16T08:24:18.5647745Z           "complete": false,
2026-06-16T08:24:18.5647835Z           "evidence": []
2026-06-16T08:24:18.5647927Z         },
2026-06-16T08:24:18.5648013Z         "unit": {
2026-06-16T08:24:18.5648113Z           "complete": true,
2026-06-16T08:24:18.5648188Z           "evidence": [
2026-06-16T08:24:18.5648270Z             {
2026-06-16T08:24:18.5648398Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T08:24:18.5648498Z               "line": 95
2026-06-16T08:24:18.5648581Z             }
2026-06-16T08:24:18.5648671Z           ]
2026-06-16T08:24:18.5648751Z         }
2026-06-16T08:24:18.5648832Z       }
2026-06-16T08:24:18.5648914Z     },
2026-06-16T08:24:18.5649085Z     {
2026-06-16T08:24:18.5649196Z       "id": "REQ-HAZARD-SELF-ELEVATE",
2026-06-16T08:24:18.5651387Z       "title": "Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe path — never widening privilege scope, never adding/altering args, never via a PATH-resolved bare name, never via a shell-interpolated command string (argv-array only, no `sh -c`); the elevated child drops state back to the user (composes with the 5.7 de-elevation) and NEVER re-elevates (loop-safe: decide_elevation_path returns AlreadyElevated whenever the process is already Elevated, on every OS). The user's UAC/polkit/sudo prompt is the only consent gate — we never bypass it; the print-hint floor prints the absolute-path command too. The unprivileged parent never depends on (pipes/captures) the privileged child's stdout.",
2026-06-16T08:24:18.5651493Z       "requiredStages": [
2026-06-16T08:24:18.5651587Z         "unit"
2026-06-16T08:24:18.5651663Z       ],
2026-06-16T08:24:18.5651748Z       "stages": {
2026-06-16T08:24:18.5651830Z         "doc": {
2026-06-16T08:24:18.5651923Z           "complete": false,
2026-06-16T08:24:18.5652013Z           "evidence": []
2026-06-16T08:24:18.5652094Z         },
2026-06-16T08:24:18.5652171Z         "impl": {
2026-06-16T08:24:18.5652266Z           "complete": true,
2026-06-16T08:24:18.5652346Z           "evidence": [
2026-06-16T08:24:18.5652433Z             {
2026-06-16T08:24:18.5652538Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5652633Z               "line": 3206
2026-06-16T08:24:18.5652714Z             },
2026-06-16T08:24:18.5652800Z             {
2026-06-16T08:24:18.5652900Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5652995Z               "line": 3258
2026-06-16T08:24:18.5653073Z             },
2026-06-16T08:24:18.5653153Z             {
2026-06-16T08:24:18.5653253Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5653334Z               "line": 3303
2026-06-16T08:24:18.5653421Z             },
2026-06-16T08:24:18.5653501Z             {
2026-06-16T08:24:18.5653620Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5653712Z               "line": 92
2026-06-16T08:24:18.5653787Z             },
2026-06-16T08:24:18.5653873Z             {
2026-06-16T08:24:18.5653973Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5654069Z               "line": 148
2026-06-16T08:24:18.5654254Z             },
2026-06-16T08:24:18.5654341Z             {
2026-06-16T08:24:18.5654454Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5654535Z               "line": 192
2026-06-16T08:24:18.5654625Z             },
2026-06-16T08:24:18.5654706Z             {
2026-06-16T08:24:18.5654908Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5655005Z               "line": 200
2026-06-16T08:24:18.5655086Z             },
2026-06-16T08:24:18.5655166Z             {
2026-06-16T08:24:18.5655266Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5655348Z               "line": 211
2026-06-16T08:24:18.5655434Z             },
2026-06-16T08:24:18.5655514Z             {
2026-06-16T08:24:18.5655625Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5655710Z               "line": 265
2026-06-16T08:24:18.5655800Z             },
2026-06-16T08:24:18.5655876Z             {
2026-06-16T08:24:18.5655992Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5656082Z               "line": 279
2026-06-16T08:24:18.5656177Z             }
2026-06-16T08:24:18.5656259Z           ]
2026-06-16T08:24:18.5656340Z         },
2026-06-16T08:24:18.5656429Z         "int": {
2026-06-16T08:24:18.5656520Z           "complete": false,
2026-06-16T08:24:18.5656617Z           "evidence": []
2026-06-16T08:24:18.5656702Z         },
2026-06-16T08:24:18.5656783Z         "unit": {
2026-06-16T08:24:18.5656874Z           "complete": true,
2026-06-16T08:24:18.5656955Z           "evidence": [
2026-06-16T08:24:18.5657035Z             {
2026-06-16T08:24:18.5657153Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5657245Z               "line": 419
2026-06-16T08:24:18.5657329Z             },
2026-06-16T08:24:18.5657418Z             {
2026-06-16T08:24:18.5657538Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5657615Z               "line": 470
2026-06-16T08:24:18.5657705Z             },
2026-06-16T08:24:18.5657785Z             {
2026-06-16T08:24:18.5657896Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5657972Z               "line": 499
2026-06-16T08:24:18.5658057Z             },
2026-06-16T08:24:18.5658143Z             {
2026-06-16T08:24:18.5658258Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5658358Z               "line": 526
2026-06-16T08:24:18.5658438Z             }
2026-06-16T08:24:18.5658521Z           ]
2026-06-16T08:24:18.5658601Z         }
2026-06-16T08:24:18.5658678Z       }
2026-06-16T08:24:18.5658758Z     },
2026-06-16T08:24:18.5658840Z     {
2026-06-16T08:24:18.5659025Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-16T08:24:18.5659207Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-16T08:24:18.5659306Z       "requiredStages": [
2026-06-16T08:24:18.5659392Z         "impl",
2026-06-16T08:24:18.5659479Z         "unit"
2026-06-16T08:24:18.5659569Z       ],
2026-06-16T08:24:18.5659645Z       "stages": {
2026-06-16T08:24:18.5659732Z         "doc": {
2026-06-16T08:24:18.5659823Z           "complete": false,
2026-06-16T08:24:18.5659917Z           "evidence": []
2026-06-16T08:24:18.5659997Z         },
2026-06-16T08:24:18.5660078Z         "impl": {
2026-06-16T08:24:18.5660174Z           "complete": true,
2026-06-16T08:24:18.5660260Z           "evidence": [
2026-06-16T08:24:18.5660345Z             {
2026-06-16T08:24:18.5660475Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5660565Z               "line": 62
2026-06-16T08:24:18.5660650Z             },
2026-06-16T08:24:18.5660727Z             {
2026-06-16T08:24:18.5660855Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5660931Z               "line": 71
2026-06-16T08:24:18.5661013Z             },
2026-06-16T08:24:18.5661099Z             {
2026-06-16T08:24:18.5661218Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5661313Z               "line": 80
2026-06-16T08:24:18.5661494Z             },
2026-06-16T08:24:18.5661580Z             {
2026-06-16T08:24:18.5661691Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5661781Z               "line": 88
2026-06-16T08:24:18.5661861Z             },
2026-06-16T08:24:18.5662039Z             {
2026-06-16T08:24:18.5662152Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5662247Z               "line": 33
2026-06-16T08:24:18.5662333Z             },
2026-06-16T08:24:18.5662409Z             {
2026-06-16T08:24:18.5662530Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5662615Z               "line": 65
2026-06-16T08:24:18.5662697Z             },
2026-06-16T08:24:18.5662775Z             {
2026-06-16T08:24:18.5662888Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5662969Z               "line": 74
2026-06-16T08:24:18.5663055Z             },
2026-06-16T08:24:18.5663132Z             {
2026-06-16T08:24:18.5663231Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5663328Z               "line": 93
2026-06-16T08:24:18.5663408Z             },
2026-06-16T08:24:18.5663488Z             {
2026-06-16T08:24:18.5663589Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5663685Z               "line": 102
2026-06-16T08:24:18.5663771Z             },
2026-06-16T08:24:18.5663855Z             {
2026-06-16T08:24:18.5663971Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5664061Z               "line": 111
2026-06-16T08:24:18.5664142Z             },
2026-06-16T08:24:18.5664223Z             {
2026-06-16T08:24:18.5666795Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5666923Z               "line": 122
2026-06-16T08:24:18.5666999Z             },
2026-06-16T08:24:18.5667085Z             {
2026-06-16T08:24:18.5667210Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5667300Z               "line": 140
2026-06-16T08:24:18.5667390Z             },
2026-06-16T08:24:18.5667483Z             {
2026-06-16T08:24:18.5667600Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5667685Z               "line": 149
2026-06-16T08:24:18.5667766Z             },
2026-06-16T08:24:18.5667852Z             {
2026-06-16T08:24:18.5667960Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5668045Z               "line": 158
2026-06-16T08:24:18.5668127Z             },
2026-06-16T08:24:18.5668203Z             {
2026-06-16T08:24:18.5668317Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5668407Z               "line": 169
2026-06-16T08:24:18.5668489Z             },
2026-06-16T08:24:18.5668566Z             {
2026-06-16T08:24:18.5668679Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5668757Z               "line": 177
2026-06-16T08:24:18.5668842Z             },
2026-06-16T08:24:18.5668918Z             {
2026-06-16T08:24:18.5669104Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5669190Z               "line": 186
2026-06-16T08:24:18.5669266Z             },
2026-06-16T08:24:18.5669342Z             {
2026-06-16T08:24:18.5669452Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5669562Z               "line": 195
2026-06-16T08:24:18.5669642Z             },
2026-06-16T08:24:18.5669730Z             {
2026-06-16T08:24:18.5669843Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5669929Z               "line": 204
2026-06-16T08:24:18.5670006Z             },
2026-06-16T08:24:18.5670087Z             {
2026-06-16T08:24:18.5670200Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5670287Z               "line": 216
2026-06-16T08:24:18.5670359Z             },
2026-06-16T08:24:18.5670449Z             {
2026-06-16T08:24:18.5670562Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5670652Z               "line": 223
2026-06-16T08:24:18.5670730Z             },
2026-06-16T08:24:18.5670967Z             {
2026-06-16T08:24:18.5671068Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5671153Z               "line": 232
2026-06-16T08:24:18.5671243Z             },
2026-06-16T08:24:18.5671316Z             {
2026-06-16T08:24:18.5671524Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5671611Z               "line": 239
2026-06-16T08:24:18.5671692Z             },
2026-06-16T08:24:18.5671773Z             {
2026-06-16T08:24:18.5671873Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5671960Z               "line": 306
2026-06-16T08:24:18.5672041Z             },
2026-06-16T08:24:18.5672117Z             {
2026-06-16T08:24:18.5672217Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5672298Z               "line": 318
2026-06-16T08:24:18.5672379Z             },
2026-06-16T08:24:18.5672450Z             {
2026-06-16T08:24:18.5672555Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5672642Z               "line": 405
2026-06-16T08:24:18.5672722Z             }
2026-06-16T08:24:18.5672802Z           ]
2026-06-16T08:24:18.5672883Z         },
2026-06-16T08:24:18.5672964Z         "int": {
2026-06-16T08:24:18.5673048Z           "complete": false,
2026-06-16T08:24:18.5673143Z           "evidence": []
2026-06-16T08:24:18.5673224Z         },
2026-06-16T08:24:18.5673310Z         "unit": {
2026-06-16T08:24:18.5673391Z           "complete": true,
2026-06-16T08:24:18.5673486Z           "evidence": [
2026-06-16T08:24:18.5673562Z             {
2026-06-16T08:24:18.5673663Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5673762Z               "line": 487
2026-06-16T08:24:18.5673839Z             },
2026-06-16T08:24:18.5673921Z             {
2026-06-16T08:24:18.5674030Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5674120Z               "line": 528
2026-06-16T08:24:18.5674207Z             },
2026-06-16T08:24:18.5674283Z             {
2026-06-16T08:24:18.5674391Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5674473Z               "line": 541
2026-06-16T08:24:18.5674560Z             },
2026-06-16T08:24:18.5674645Z             {
2026-06-16T08:24:18.5674754Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5674837Z               "line": 627
2026-06-16T08:24:18.5674917Z             }
2026-06-16T08:24:18.5675003Z           ]
2026-06-16T08:24:18.5675079Z         }
2026-06-16T08:24:18.5675156Z       }
2026-06-16T08:24:18.5675237Z     },
2026-06-16T08:24:18.5675322Z     {
2026-06-16T08:24:18.5675423Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-16T08:24:18.5675622Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-16T08:24:18.5675716Z       "requiredStages": [
2026-06-16T08:24:18.5675798Z         "impl",
2026-06-16T08:24:18.5675887Z         "unit"
2026-06-16T08:24:18.5675972Z       ],
2026-06-16T08:24:18.5676057Z       "stages": {
2026-06-16T08:24:18.5676144Z         "doc": {
2026-06-16T08:24:18.5676235Z           "complete": false,
2026-06-16T08:24:18.5676329Z           "evidence": []
2026-06-16T08:24:18.5676411Z         },
2026-06-16T08:24:18.5676492Z         "impl": {
2026-06-16T08:24:18.5676582Z           "complete": true,
2026-06-16T08:24:18.5676668Z           "evidence": [
2026-06-16T08:24:18.5676750Z             {
2026-06-16T08:24:18.5676859Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.5676954Z               "line": 152
2026-06-16T08:24:18.5677035Z             },
2026-06-16T08:24:18.5677117Z             {
2026-06-16T08:24:18.5677240Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5677326Z               "line": 167
2026-06-16T08:24:18.5677413Z             }
2026-06-16T08:24:18.5677497Z           ]
2026-06-16T08:24:18.5677578Z         },
2026-06-16T08:24:18.5677665Z         "int": {
2026-06-16T08:24:18.5677756Z           "complete": false,
2026-06-16T08:24:18.5677845Z           "evidence": []
2026-06-16T08:24:18.5678000Z         },
2026-06-16T08:24:18.5678076Z         "unit": {
2026-06-16T08:24:18.5678165Z           "complete": true,
2026-06-16T08:24:18.5678245Z           "evidence": [
2026-06-16T08:24:18.5678326Z             {
2026-06-16T08:24:18.5678440Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.5678590Z               "line": 274
2026-06-16T08:24:18.5678667Z             },
2026-06-16T08:24:18.5678749Z             {
2026-06-16T08:24:18.5678863Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5679030Z               "line": 832
2026-06-16T08:24:18.5679107Z             },
2026-06-16T08:24:18.5679187Z             {
2026-06-16T08:24:18.5679302Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5679383Z               "line": 845
2026-06-16T08:24:18.5679459Z             }
2026-06-16T08:24:18.5679535Z           ]
2026-06-16T08:24:18.5679617Z         }
2026-06-16T08:24:18.5679693Z       }
2026-06-16T08:24:18.5679778Z     },
2026-06-16T08:24:18.5679859Z     {
2026-06-16T08:24:18.5679975Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-16T08:24:18.5680107Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-16T08:24:18.5680188Z       "requiredStages": [
2026-06-16T08:24:18.5680285Z         "impl",
2026-06-16T08:24:18.5680360Z         "unit"
2026-06-16T08:24:18.5680441Z       ],
2026-06-16T08:24:18.5680522Z       "stages": {
2026-06-16T08:24:18.5680600Z         "doc": {
2026-06-16T08:24:18.5680694Z           "complete": false,
2026-06-16T08:24:18.5680775Z           "evidence": []
2026-06-16T08:24:18.5680862Z         },
2026-06-16T08:24:18.5680948Z         "impl": {
2026-06-16T08:24:18.5681037Z           "complete": true,
2026-06-16T08:24:18.5681117Z           "evidence": [
2026-06-16T08:24:18.5681203Z             {
2026-06-16T08:24:18.5681323Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5681399Z               "line": 116
2026-06-16T08:24:18.5681484Z             },
2026-06-16T08:24:18.5681561Z             {
2026-06-16T08:24:18.5681681Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.5681770Z               "line": 481
2026-06-16T08:24:18.5681847Z             }
2026-06-16T08:24:18.5681929Z           ]
2026-06-16T08:24:18.5682010Z         },
2026-06-16T08:24:18.5682089Z         "int": {
2026-06-16T08:24:18.5682181Z           "complete": false,
2026-06-16T08:24:18.5682262Z           "evidence": []
2026-06-16T08:24:18.5682338Z         },
2026-06-16T08:24:18.5682418Z         "unit": {
2026-06-16T08:24:18.5682516Z           "complete": true,
2026-06-16T08:24:18.5682596Z           "evidence": [
2026-06-16T08:24:18.5682677Z             {
2026-06-16T08:24:18.5682801Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.5682882Z               "line": 515
2026-06-16T08:24:18.5682962Z             }
2026-06-16T08:24:18.5683048Z           ]
2026-06-16T08:24:18.5683130Z         }
2026-06-16T08:24:18.5683207Z       }
2026-06-16T08:24:18.5683301Z     },
2026-06-16T08:24:18.5683381Z     {
2026-06-16T08:24:18.5683500Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-16T08:24:18.5683665Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-16T08:24:18.5683750Z       "requiredStages": [
2026-06-16T08:24:18.5683832Z         "impl",
2026-06-16T08:24:18.5683909Z         "unit"
2026-06-16T08:24:18.5683988Z       ],
2026-06-16T08:24:18.5684070Z       "stages": {
2026-06-16T08:24:18.5684147Z         "doc": {
2026-06-16T08:24:18.5684238Z           "complete": false,
2026-06-16T08:24:18.5684327Z           "evidence": []
2026-06-16T08:24:18.5684409Z         },
2026-06-16T08:24:18.5684491Z         "impl": {
2026-06-16T08:24:18.5684590Z           "complete": true,
2026-06-16T08:24:18.5684670Z           "evidence": [
2026-06-16T08:24:18.5684748Z             {
2026-06-16T08:24:18.5684876Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5684966Z               "line": 502
2026-06-16T08:24:18.5685134Z             },
2026-06-16T08:24:18.5685210Z             {
2026-06-16T08:24:18.5685334Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5685411Z               "line": 28
2026-06-16T08:24:18.5685491Z             }
2026-06-16T08:24:18.5685658Z           ]
2026-06-16T08:24:18.5685740Z         },
2026-06-16T08:24:18.5685825Z         "int": {
2026-06-16T08:24:18.5685906Z           "complete": false,
2026-06-16T08:24:18.5685998Z           "evidence": []
2026-06-16T08:24:18.5686079Z         },
2026-06-16T08:24:18.5686158Z         "unit": {
2026-06-16T08:24:18.5686239Z           "complete": true,
2026-06-16T08:24:18.5686320Z           "evidence": [
2026-06-16T08:24:18.5686401Z             {
2026-06-16T08:24:18.5686517Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5686603Z               "line": 229
2026-06-16T08:24:18.5686685Z             }
2026-06-16T08:24:18.5686776Z           ]
2026-06-16T08:24:18.5686856Z         }
2026-06-16T08:24:18.5686946Z       }
2026-06-16T08:24:18.5687034Z     },
2026-06-16T08:24:18.5687115Z     {
2026-06-16T08:24:18.5687223Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-16T08:24:18.5687344Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-16T08:24:18.5687434Z       "requiredStages": [],
2026-06-16T08:24:18.5687518Z       "stages": {
2026-06-16T08:24:18.5687595Z         "doc": {
2026-06-16T08:24:18.5687687Z           "complete": false,
2026-06-16T08:24:18.5687772Z           "evidence": []
2026-06-16T08:24:18.5687848Z         },
2026-06-16T08:24:18.5687925Z         "impl": {
2026-06-16T08:24:18.5688025Z           "complete": false,
2026-06-16T08:24:18.5688105Z           "evidence": []
2026-06-16T08:24:18.5688187Z         },
2026-06-16T08:24:18.5688269Z         "int": {
2026-06-16T08:24:18.5688354Z           "complete": false,
2026-06-16T08:24:18.5688429Z           "evidence": []
2026-06-16T08:24:18.5688511Z         },
2026-06-16T08:24:18.5688588Z         "unit": {
2026-06-16T08:24:18.5688669Z           "complete": false,
2026-06-16T08:24:18.5688758Z           "evidence": []
2026-06-16T08:24:18.5688843Z         }
2026-06-16T08:24:18.5688925Z       }
2026-06-16T08:24:18.5689094Z     },
2026-06-16T08:24:18.5689174Z     {
2026-06-16T08:24:18.5689290Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-16T08:24:18.5689432Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-16T08:24:18.5689528Z       "requiredStages": [
2026-06-16T08:24:18.5689605Z         "impl",
2026-06-16T08:24:18.5689690Z         "unit"
2026-06-16T08:24:18.5689776Z       ],
2026-06-16T08:24:18.5689852Z       "stages": {
2026-06-16T08:24:18.5689929Z         "doc": {
2026-06-16T08:24:18.5690010Z           "complete": false,
2026-06-16T08:24:18.5690100Z           "evidence": []
2026-06-16T08:24:18.5690177Z         },
2026-06-16T08:24:18.5690253Z         "impl": {
2026-06-16T08:24:18.5690348Z           "complete": true,
2026-06-16T08:24:18.5690429Z           "evidence": [
2026-06-16T08:24:18.5690511Z             {
2026-06-16T08:24:18.5690620Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T08:24:18.5690701Z               "line": 19
2026-06-16T08:24:18.5690782Z             },
2026-06-16T08:24:18.5690864Z             {
2026-06-16T08:24:18.5690982Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5691068Z               "line": 347
2026-06-16T08:24:18.5691150Z             },
2026-06-16T08:24:18.5691235Z             {
2026-06-16T08:24:18.5691345Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5691436Z               "line": 383
2026-06-16T08:24:18.5691517Z             },
2026-06-16T08:24:18.5691601Z             {
2026-06-16T08:24:18.5691715Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5691811Z               "line": 15
2026-06-16T08:24:18.5691893Z             },
2026-06-16T08:24:18.5691978Z             {
2026-06-16T08:24:18.5692092Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5692278Z               "line": 48
2026-06-16T08:24:18.5692358Z             },
2026-06-16T08:24:18.5692437Z             {
2026-06-16T08:24:18.5692541Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5692621Z               "line": 119
2026-06-16T08:24:18.5692812Z             },
2026-06-16T08:24:18.5692893Z             {
2026-06-16T08:24:18.5692993Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5693090Z               "line": 3634
2026-06-16T08:24:18.5693170Z             }
2026-06-16T08:24:18.5693251Z           ]
2026-06-16T08:24:18.5693332Z         },
2026-06-16T08:24:18.5693414Z         "int": {
2026-06-16T08:24:18.5693508Z           "complete": false,
2026-06-16T08:24:18.5693589Z           "evidence": []
2026-06-16T08:24:18.5693671Z         },
2026-06-16T08:24:18.5693753Z         "unit": {
2026-06-16T08:24:18.5693847Z           "complete": true,
2026-06-16T08:24:18.5693927Z           "evidence": [
2026-06-16T08:24:18.5694003Z             {
2026-06-16T08:24:18.5694131Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.5694206Z               "line": 496
2026-06-16T08:24:18.5694291Z             },
2026-06-16T08:24:18.5694373Z             {
2026-06-16T08:24:18.5694474Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5694568Z               "line": 165
2026-06-16T08:24:18.5694644Z             },
2026-06-16T08:24:18.5694722Z             {
2026-06-16T08:24:18.5694826Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T08:24:18.5694906Z               "line": 175
2026-06-16T08:24:18.5694989Z             }
2026-06-16T08:24:18.5695070Z           ]
2026-06-16T08:24:18.5695150Z         }
2026-06-16T08:24:18.5695226Z       }
2026-06-16T08:24:18.5695309Z     },
2026-06-16T08:24:18.5695389Z     {
2026-06-16T08:24:18.5695503Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-16T08:24:18.5696452Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-16T08:24:18.5696562Z       "requiredStages": [
2026-06-16T08:24:18.5696649Z         "impl",
2026-06-16T08:24:18.5696737Z         "unit"
2026-06-16T08:24:18.5696822Z       ],
2026-06-16T08:24:18.5696909Z       "stages": {
2026-06-16T08:24:18.5696989Z         "doc": {
2026-06-16T08:24:18.5697082Z           "complete": false,
2026-06-16T08:24:18.5697177Z           "evidence": []
2026-06-16T08:24:18.5697254Z         },
2026-06-16T08:24:18.5697341Z         "impl": {
2026-06-16T08:24:18.5697425Z           "complete": true,
2026-06-16T08:24:18.5697506Z           "evidence": [
2026-06-16T08:24:18.5697584Z             {
2026-06-16T08:24:18.5697708Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5697802Z               "line": 192
2026-06-16T08:24:18.5697875Z             },
2026-06-16T08:24:18.5697956Z             {
2026-06-16T08:24:18.5698078Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5698160Z               "line": 279
2026-06-16T08:24:18.5698247Z             }
2026-06-16T08:24:18.5698322Z           ]
2026-06-16T08:24:18.5698408Z         },
2026-06-16T08:24:18.5698495Z         "int": {
2026-06-16T08:24:18.5698590Z           "complete": false,
2026-06-16T08:24:18.5698675Z           "evidence": []
2026-06-16T08:24:18.5698747Z         },
2026-06-16T08:24:18.5698843Z         "unit": {
2026-06-16T08:24:18.5698933Z           "complete": true,
2026-06-16T08:24:18.5699100Z           "evidence": [
2026-06-16T08:24:18.5699187Z             {
2026-06-16T08:24:18.5699299Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5699384Z               "line": 470
2026-06-16T08:24:18.5699466Z             },
2026-06-16T08:24:18.5699551Z             {
2026-06-16T08:24:18.5699649Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.5699739Z               "line": 526
2026-06-16T08:24:18.5699926Z             }
2026-06-16T08:24:18.5700011Z           ]
2026-06-16T08:24:18.5700088Z         }
2026-06-16T08:24:18.5700174Z       }
2026-06-16T08:24:18.5700255Z     },
2026-06-16T08:24:18.5700336Z     {
2026-06-16T08:24:18.5700447Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-16T08:24:18.5700708Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-16T08:24:18.5700804Z       "requiredStages": [
2026-06-16T08:24:18.5700894Z         "impl",
2026-06-16T08:24:18.5700970Z         "unit"
2026-06-16T08:24:18.5701052Z       ],
2026-06-16T08:24:18.5701138Z       "stages": {
2026-06-16T08:24:18.5701219Z         "doc": {
2026-06-16T08:24:18.5701304Z           "complete": false,
2026-06-16T08:24:18.5701391Z           "evidence": []
2026-06-16T08:24:18.5701480Z         },
2026-06-16T08:24:18.5701561Z         "impl": {
2026-06-16T08:24:18.5701647Z           "complete": true,
2026-06-16T08:24:18.5701730Z           "evidence": [
2026-06-16T08:24:18.5701818Z             {
2026-06-16T08:24:18.5701943Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5702020Z               "line": 35
2026-06-16T08:24:18.5702101Z             }
2026-06-16T08:24:18.5702185Z           ]
2026-06-16T08:24:18.5702261Z         },
2026-06-16T08:24:18.5702342Z         "int": {
2026-06-16T08:24:18.5702444Z           "complete": false,
2026-06-16T08:24:18.5702528Z           "evidence": []
2026-06-16T08:24:18.5702599Z         },
2026-06-16T08:24:18.5702686Z         "unit": {
2026-06-16T08:24:18.5702772Z           "complete": true,
2026-06-16T08:24:18.5702867Z           "evidence": [
2026-06-16T08:24:18.5702943Z             {
2026-06-16T08:24:18.5703063Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T08:24:18.5703153Z               "line": 220
2026-06-16T08:24:18.5703229Z             }
2026-06-16T08:24:18.5703316Z           ]
2026-06-16T08:24:18.5703401Z         }
2026-06-16T08:24:18.5703477Z       }
2026-06-16T08:24:18.5703558Z     },
2026-06-16T08:24:18.5703641Z     {
2026-06-16T08:24:18.5703759Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-16T08:24:18.5704016Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-16T08:24:18.5704116Z       "requiredStages": [
2026-06-16T08:24:18.5704197Z         "impl",
2026-06-16T08:24:18.5704290Z         "unit"
2026-06-16T08:24:18.5704369Z       ],
2026-06-16T08:24:18.5704463Z       "stages": {
2026-06-16T08:24:18.5704544Z         "doc": {
2026-06-16T08:24:18.5704635Z           "complete": false,
2026-06-16T08:24:18.5704728Z           "evidence": []
2026-06-16T08:24:18.5704804Z         },
2026-06-16T08:24:18.5704890Z         "impl": {
2026-06-16T08:24:18.5704977Z           "complete": true,
2026-06-16T08:24:18.5705062Z           "evidence": [
2026-06-16T08:24:18.5705147Z             {
2026-06-16T08:24:18.5705272Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.5705358Z               "line": 405
2026-06-16T08:24:18.5705443Z             },
2026-06-16T08:24:18.5705524Z             {
2026-06-16T08:24:18.5705644Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.5705739Z               "line": 409
2026-06-16T08:24:18.5705820Z             },
2026-06-16T08:24:18.5705901Z             {
2026-06-16T08:24:18.5706011Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.5706091Z               "line": 156
2026-06-16T08:24:18.5706173Z             }
2026-06-16T08:24:18.5706250Z           ]
2026-06-16T08:24:18.5706330Z         },
2026-06-16T08:24:18.5706420Z         "int": {
2026-06-16T08:24:18.5706513Z           "complete": false,
2026-06-16T08:24:18.5706602Z           "evidence": []
2026-06-16T08:24:18.5706683Z         },
2026-06-16T08:24:18.5706769Z         "unit": {
2026-06-16T08:24:18.5706856Z           "complete": true,
2026-06-16T08:24:18.5706936Z           "evidence": [
2026-06-16T08:24:18.5707022Z             {
2026-06-16T08:24:18.5707132Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.5707298Z               "line": 812
2026-06-16T08:24:18.5707368Z             },
2026-06-16T08:24:18.5707449Z             {
2026-06-16T08:24:18.5707563Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.5707652Z               "line": 826
2026-06-16T08:24:18.5707800Z             },
2026-06-16T08:24:18.5707877Z             {
2026-06-16T08:24:18.5708000Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.5708086Z               "line": 845
2026-06-16T08:24:18.5708173Z             },
2026-06-16T08:24:18.5708244Z             {
2026-06-16T08:24:18.5708353Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.5708440Z               "line": 862
2026-06-16T08:24:18.5708516Z             },
2026-06-16T08:24:18.5708597Z             {
2026-06-16T08:24:18.5708715Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.5708797Z               "line": 441
2026-06-16T08:24:18.5708873Z             }
2026-06-16T08:24:18.5709035Z           ]
2026-06-16T08:24:18.5709112Z         }
2026-06-16T08:24:18.5709192Z       }
2026-06-16T08:24:18.5709278Z     },
2026-06-16T08:24:18.5709355Z     {
2026-06-16T08:24:18.5709470Z       "id": "REQ-HAZARD-VIEWER-ISOLATION",
2026-06-16T08:24:18.5711749Z       "title": "A slow / dead / hostile VIEWER must NEVER stall the controller, the PTY child, or the session drain thread. The broker drain fans output to the controller on the authoritative blocking bounded path (advances delivered_through) but to each viewer via a bounded per-viewer channel with a dedicated writer thread; the drain `try_send`s under the log lock and a viewer whose bounded queue OVERFLOWS (can't keep up) is EVICTED (queue dropped, writer thread ends, removed from the viewers map) — the drain thread NEVER touches a viewer socket, so no viewer write can backpressure or block it. A soft viewer cap bounds the thread count. Viewer eviction never perturbs the controller stream, the delivered_through cursor, or the child.",
2026-06-16T08:24:18.5711854Z       "requiredStages": [
2026-06-16T08:24:18.5711932Z         "unit",
2026-06-16T08:24:18.5712018Z         "int"
2026-06-16T08:24:18.5712097Z       ],
2026-06-16T08:24:18.5712179Z       "stages": {
2026-06-16T08:24:18.5712256Z         "doc": {
2026-06-16T08:24:18.5712351Z           "complete": true,
2026-06-16T08:24:18.5712431Z           "evidence": [
2026-06-16T08:24:18.5712523Z             {
2026-06-16T08:24:18.5712624Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5712708Z               "line": 374
2026-06-16T08:24:18.5712798Z             }
2026-06-16T08:24:18.5712874Z           ]
2026-06-16T08:24:18.5712960Z         },
2026-06-16T08:24:18.5713046Z         "impl": {
2026-06-16T08:24:18.5713141Z           "complete": true,
2026-06-16T08:24:18.5713236Z           "evidence": [
2026-06-16T08:24:18.5713313Z             {
2026-06-16T08:24:18.5713436Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5713513Z               "line": 97
2026-06-16T08:24:18.5713604Z             }
2026-06-16T08:24:18.5713676Z           ]
2026-06-16T08:24:18.5713760Z         },
2026-06-16T08:24:18.5713842Z         "int": {
2026-06-16T08:24:18.5713933Z           "complete": true,
2026-06-16T08:24:18.5714023Z           "evidence": [
2026-06-16T08:24:18.5714104Z             {
2026-06-16T08:24:18.5714234Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5714314Z               "line": 918
2026-06-16T08:24:18.5714395Z             }
2026-06-16T08:24:18.5714477Z           ]
2026-06-16T08:24:18.5714563Z         },
2026-06-16T08:24:18.5714642Z         "unit": {
2026-06-16T08:24:18.5714733Z           "complete": true,
2026-06-16T08:24:18.5714825Z           "evidence": [
2026-06-16T08:24:18.5714906Z             {
2026-06-16T08:24:18.5715009Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.5715104Z               "line": 1459
2026-06-16T08:24:18.5715181Z             }
2026-06-16T08:24:18.5715270Z           ]
2026-06-16T08:24:18.5715450Z         }
2026-06-16T08:24:18.5715532Z       }
2026-06-16T08:24:18.5715607Z     },
2026-06-16T08:24:18.5715688Z     {
2026-06-16T08:24:18.5715799Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-16T08:24:18.5716599Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-16T08:24:18.5716795Z       "requiredStages": [
2026-06-16T08:24:18.5716876Z         "doc",
2026-06-16T08:24:18.5716957Z         "impl",
2026-06-16T08:24:18.5717034Z         "unit"
2026-06-16T08:24:18.5717125Z       ],
2026-06-16T08:24:18.5717214Z       "stages": {
2026-06-16T08:24:18.5717291Z         "doc": {
2026-06-16T08:24:18.5717387Z           "complete": true,
2026-06-16T08:24:18.5717463Z           "evidence": [
2026-06-16T08:24:18.5717553Z             {
2026-06-16T08:24:18.5717659Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T08:24:18.5717745Z               "line": 359
2026-06-16T08:24:18.5717829Z             }
2026-06-16T08:24:18.5717905Z           ]
2026-06-16T08:24:18.5717986Z         },
2026-06-16T08:24:18.5718062Z         "impl": {
2026-06-16T08:24:18.5718165Z           "complete": true,
2026-06-16T08:24:18.5718250Z           "evidence": [
2026-06-16T08:24:18.5718332Z             {
2026-06-16T08:24:18.5718451Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.5718527Z               "line": 87
2026-06-16T08:24:18.5718608Z             },
2026-06-16T08:24:18.5718685Z             {
2026-06-16T08:24:18.5718828Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.5718917Z               "line": 105
2026-06-16T08:24:18.5719076Z             },
2026-06-16T08:24:18.5719157Z             {
2026-06-16T08:24:18.5719280Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.5719362Z               "line": 55
2026-06-16T08:24:18.5719447Z             },
2026-06-16T08:24:18.5719528Z             {
2026-06-16T08:24:18.5719648Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5719724Z               "line": 31
2026-06-16T08:24:18.5719805Z             },
2026-06-16T08:24:18.5719881Z             {
2026-06-16T08:24:18.5720001Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.5720077Z               "line": 446
2026-06-16T08:24:18.5720153Z             },
2026-06-16T08:24:18.5720240Z             {
2026-06-16T08:24:18.5720359Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.5720452Z               "line": 95
2026-06-16T08:24:18.5720538Z             },
2026-06-16T08:24:18.5720619Z             {
2026-06-16T08:24:18.5720737Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.5720831Z               "line": 29
2026-06-16T08:24:18.5720908Z             },
2026-06-16T08:24:18.5720989Z             {
2026-06-16T08:24:18.5721103Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.5721184Z               "line": 104
2026-06-16T08:24:18.5721257Z             },
2026-06-16T08:24:18.5721342Z             {
2026-06-16T08:24:18.5721485Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5721581Z               "line": 208
2026-06-16T08:24:18.5721661Z             },
2026-06-16T08:24:18.5721742Z             {
2026-06-16T08:24:18.5721862Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T08:24:18.5721948Z               "line": 28
2026-06-16T08:24:18.5722029Z             },
2026-06-16T08:24:18.5722114Z             {
2026-06-16T08:24:18.5722230Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T08:24:18.5722309Z               "line": 74
2026-06-16T08:24:18.5722386Z             },
2026-06-16T08:24:18.5722462Z             {
2026-06-16T08:24:18.5722592Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.5722782Z               "line": 32
2026-06-16T08:24:18.5722859Z             },
2026-06-16T08:24:18.5722944Z             {
2026-06-16T08:24:18.5723049Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5723145Z               "line": 40
2026-06-16T08:24:18.5723334Z             },
2026-06-16T08:24:18.5723414Z             {
2026-06-16T08:24:18.5723530Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5723620Z               "line": 184
2026-06-16T08:24:18.5723696Z             },
2026-06-16T08:24:18.5723778Z             {
2026-06-16T08:24:18.5723897Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.5723977Z               "line": 61
2026-06-16T08:24:18.5724073Z             },
2026-06-16T08:24:18.5724150Z             {
2026-06-16T08:24:18.5724264Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.5724359Z               "line": 131
2026-06-16T08:24:18.5724436Z             },
2026-06-16T08:24:18.5724516Z             {
2026-06-16T08:24:18.5724630Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.5724707Z               "line": 223
2026-06-16T08:24:18.5724799Z             },
2026-06-16T08:24:18.5724869Z             {
2026-06-16T08:24:18.5724988Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T08:24:18.5725071Z               "line": 37
2026-06-16T08:24:18.5725151Z             },
2026-06-16T08:24:18.5725241Z             {
2026-06-16T08:24:18.5725361Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.5725452Z               "line": 38
2026-06-16T08:24:18.5725531Z             },
2026-06-16T08:24:18.5725617Z             {
2026-06-16T08:24:18.5725727Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.5725820Z               "line": 36
2026-06-16T08:24:18.5725896Z             },
2026-06-16T08:24:18.5725981Z             {
2026-06-16T08:24:18.5726097Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T08:24:18.5726177Z               "line": 40
2026-06-16T08:24:18.5726267Z             }
2026-06-16T08:24:18.5726349Z           ]
2026-06-16T08:24:18.5726435Z         },
2026-06-16T08:24:18.5726516Z         "int": {
2026-06-16T08:24:18.5726615Z           "complete": false,
2026-06-16T08:24:18.5726703Z           "evidence": []
2026-06-16T08:24:18.5726788Z         },
2026-06-16T08:24:18.5726873Z         "unit": {
2026-06-16T08:24:18.5726964Z           "complete": true,
2026-06-16T08:24:18.5727055Z           "evidence": [
2026-06-16T08:24:18.5727131Z             {
2026-06-16T08:24:18.5727255Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.5727351Z               "line": 212
2026-06-16T08:24:18.5727431Z             },
2026-06-16T08:24:18.5727517Z             {
2026-06-16T08:24:18.5727638Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-16T08:24:18.5727722Z               "line": 136
2026-06-16T08:24:18.5727803Z             },
2026-06-16T08:24:18.5727884Z             {
2026-06-16T08:24:18.5728009Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.5728098Z               "line": 685
2026-06-16T08:24:18.5728180Z             },
2026-06-16T08:24:18.5728252Z             {
2026-06-16T08:24:18.5728375Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.5728465Z               "line": 224
2026-06-16T08:24:18.5728555Z             },
2026-06-16T08:24:18.5728636Z             {
2026-06-16T08:24:18.5728744Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T08:24:18.5728834Z               "line": 206
2026-06-16T08:24:18.5728916Z             },
2026-06-16T08:24:18.5729078Z             {
2026-06-16T08:24:18.5729197Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.5729288Z               "line": 112
2026-06-16T08:24:18.5729369Z             },
2026-06-16T08:24:18.5729449Z             {
2026-06-16T08:24:18.5729565Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T08:24:18.5729646Z               "line": 157
2026-06-16T08:24:18.5729831Z             },
2026-06-16T08:24:18.5729917Z             {
2026-06-16T08:24:18.5730036Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.5730127Z               "line": 215
2026-06-16T08:24:18.5730204Z             },
2026-06-16T08:24:18.5730384Z             {
2026-06-16T08:24:18.5730500Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.5730590Z               "line": 141
2026-06-16T08:24:18.5730670Z             },
2026-06-16T08:24:18.5730756Z             {
2026-06-16T08:24:18.5733271Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T08:24:18.5733391Z               "line": 162
2026-06-16T08:24:18.5733481Z             }
2026-06-16T08:24:18.5733566Z           ]
2026-06-16T08:24:18.5733638Z         }
2026-06-16T08:24:18.5733724Z       }
2026-06-16T08:24:18.5733805Z     },
2026-06-16T08:24:18.5733894Z     {
2026-06-16T08:24:18.5734018Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-16T08:24:18.5734195Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-16T08:24:18.5734290Z       "requiredStages": [
2026-06-16T08:24:18.5734371Z         "impl",
2026-06-16T08:24:18.5734452Z         "unit"
2026-06-16T08:24:18.5734528Z       ],
2026-06-16T08:24:18.5734618Z       "stages": {
2026-06-16T08:24:18.5734701Z         "doc": {
2026-06-16T08:24:18.5734801Z           "complete": false,
2026-06-16T08:24:18.5734885Z           "evidence": []
2026-06-16T08:24:18.5734972Z         },
2026-06-16T08:24:18.5735049Z         "impl": {
2026-06-16T08:24:18.5735149Z           "complete": true,
2026-06-16T08:24:18.5735239Z           "evidence": [
2026-06-16T08:24:18.5735320Z             {
2026-06-16T08:24:18.5735443Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.5735515Z               "line": 95
2026-06-16T08:24:18.5735597Z             },
2026-06-16T08:24:18.5735679Z             {
2026-06-16T08:24:18.5735796Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5735878Z               "line": 94
2026-06-16T08:24:18.5735960Z             }
2026-06-16T08:24:18.5736040Z           ]
2026-06-16T08:24:18.5736115Z         },
2026-06-16T08:24:18.5736196Z         "int": {
2026-06-16T08:24:18.5736287Z           "complete": false,
2026-06-16T08:24:18.5736385Z           "evidence": []
2026-06-16T08:24:18.5736470Z         },
2026-06-16T08:24:18.5736551Z         "unit": {
2026-06-16T08:24:18.5736642Z           "complete": true,
2026-06-16T08:24:18.5736733Z           "evidence": [
2026-06-16T08:24:18.5736818Z             {
2026-06-16T08:24:18.5736928Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.5737014Z               "line": 250
2026-06-16T08:24:18.5737099Z             },
2026-06-16T08:24:18.5737175Z             {
2026-06-16T08:24:18.5737296Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T08:24:18.5737372Z               "line": 198
2026-06-16T08:24:18.5737457Z             },
2026-06-16T08:24:18.5737534Z             {
2026-06-16T08:24:18.5737648Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5737738Z               "line": 487
2026-06-16T08:24:18.5737819Z             },
2026-06-16T08:24:18.5737902Z             {
2026-06-16T08:24:18.5738006Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5738101Z               "line": 520
2026-06-16T08:24:18.5738173Z             }
2026-06-16T08:24:18.5738250Z           ]
2026-06-16T08:24:18.5738334Z         }
2026-06-16T08:24:18.5738416Z       }
2026-06-16T08:24:18.5738498Z     },
2026-06-16T08:24:18.5738574Z     {
2026-06-16T08:24:18.5738678Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-16T08:24:18.5738866Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-16T08:24:18.5739025Z       "requiredStages": [
2026-06-16T08:24:18.5739106Z         "impl",
2026-06-16T08:24:18.5739187Z         "unit"
2026-06-16T08:24:18.5739266Z       ],
2026-06-16T08:24:18.5739347Z       "stages": {
2026-06-16T08:24:18.5739423Z         "doc": {
2026-06-16T08:24:18.5739657Z           "complete": false,
2026-06-16T08:24:18.5739747Z           "evidence": []
2026-06-16T08:24:18.5739825Z         },
2026-06-16T08:24:18.5739910Z         "impl": {
2026-06-16T08:24:18.5740005Z           "complete": true,
2026-06-16T08:24:18.5740196Z           "evidence": [
2026-06-16T08:24:18.5740272Z             {
2026-06-16T08:24:18.5740392Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5740468Z               "line": 262
2026-06-16T08:24:18.5740549Z             },
2026-06-16T08:24:18.5740634Z             {
2026-06-16T08:24:18.5740745Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5740830Z               "line": 307
2026-06-16T08:24:18.5740911Z             },
2026-06-16T08:24:18.5740987Z             {
2026-06-16T08:24:18.5741103Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5741197Z               "line": 319
2026-06-16T08:24:18.5741278Z             }
2026-06-16T08:24:18.5741360Z           ]
2026-06-16T08:24:18.5741441Z         },
2026-06-16T08:24:18.5741521Z         "int": {
2026-06-16T08:24:18.5741615Z           "complete": false,
2026-06-16T08:24:18.5741701Z           "evidence": []
2026-06-16T08:24:18.5741791Z         },
2026-06-16T08:24:18.5741871Z         "unit": {
2026-06-16T08:24:18.5741961Z           "complete": true,
2026-06-16T08:24:18.5742048Z           "evidence": [
2026-06-16T08:24:18.5742129Z             {
2026-06-16T08:24:18.5742242Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5742328Z               "line": 455
2026-06-16T08:24:18.5742420Z             },
2026-06-16T08:24:18.5742505Z             {
2026-06-16T08:24:18.5742619Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5742706Z               "line": 499
2026-06-16T08:24:18.5742787Z             }
2026-06-16T08:24:18.5742867Z           ]
2026-06-16T08:24:18.5742944Z         }
2026-06-16T08:24:18.5743030Z       }
2026-06-16T08:24:18.5743115Z     },
2026-06-16T08:24:18.5743234Z     {
2026-06-16T08:24:18.5743340Z       "id": "REQ-HOST-RUN-1",
2026-06-16T08:24:18.5745871Z       "title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.self]` command template into a broker-held PTY (the spawn-session seam, brain.rs spawn_session_pid — same broker path shellhost.rs launch_shell_brokered_in uses for shells, now for kind=\"harness\" self-role), registers the perch under the given endpoint id, returns the id. Reverses today's harness-hosted-only launch (external launcher → `api bind`). Non-interactive flag set (--adapter <a[:profile]> --id <id> --create --resume <session> --attach|--start|--view) covers every terminal action of the W2 interactive picker so shortcuts (cc-<id>) bake fully non-interactive launches; composite adapter:profile resolves via registry::resolve_option leaf-replace overlay.",
2026-06-16T08:24:18.5745976Z       "requiredStages": [
2026-06-16T08:24:18.5746057Z         "impl",
2026-06-16T08:24:18.5746133Z         "unit",
2026-06-16T08:24:18.5746224Z         "int"
2026-06-16T08:24:18.5746304Z       ],
2026-06-16T08:24:18.5746390Z       "stages": {
2026-06-16T08:24:18.5746471Z         "doc": {
2026-06-16T08:24:18.5746568Z           "complete": false,
2026-06-16T08:24:18.5746647Z           "evidence": []
2026-06-16T08:24:18.5746728Z         },
2026-06-16T08:24:18.5746814Z         "impl": {
2026-06-16T08:24:18.5746904Z           "complete": true,
2026-06-16T08:24:18.5746988Z           "evidence": [
2026-06-16T08:24:18.5747068Z             {
2026-06-16T08:24:18.5747203Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5747298Z               "line": 24
2026-06-16T08:24:18.5747373Z             },
2026-06-16T08:24:18.5747450Z             {
2026-06-16T08:24:18.5747574Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5747659Z               "line": 63
2026-06-16T08:24:18.5747740Z             },
2026-06-16T08:24:18.5747818Z             {
2026-06-16T08:24:18.5747937Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5748104Z               "line": 109
2026-06-16T08:24:18.5748190Z             },
2026-06-16T08:24:18.5748266Z             {
2026-06-16T08:24:18.5748366Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5748528Z               "line": 1209
2026-06-16T08:24:18.5748613Z             }
2026-06-16T08:24:18.5748690Z           ]
2026-06-16T08:24:18.5748767Z         },
2026-06-16T08:24:18.5748847Z         "int": {
2026-06-16T08:24:18.5748928Z           "complete": true,
2026-06-16T08:24:18.5749101Z           "evidence": [
2026-06-16T08:24:18.5749176Z             {
2026-06-16T08:24:18.5749300Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5749392Z               "line": 279
2026-06-16T08:24:18.5749473Z             }
2026-06-16T08:24:18.5749547Z           ]
2026-06-16T08:24:18.5749632Z         },
2026-06-16T08:24:18.5749719Z         "unit": {
2026-06-16T08:24:18.5749818Z           "complete": true,
2026-06-16T08:24:18.5749898Z           "evidence": [
2026-06-16T08:24:18.5749978Z             {
2026-06-16T08:24:18.5750098Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5750188Z               "line": 149
2026-06-16T08:24:18.5750260Z             },
2026-06-16T08:24:18.5750341Z             {
2026-06-16T08:24:18.5750466Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5750541Z               "line": 169
2026-06-16T08:24:18.5750627Z             },
2026-06-16T08:24:18.5750705Z             {
2026-06-16T08:24:18.5750827Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5750908Z               "line": 202
2026-06-16T08:24:18.5750985Z             }
2026-06-16T08:24:18.5751071Z           ]
2026-06-16T08:24:18.5751147Z         }
2026-06-16T08:24:18.5751228Z       }
2026-06-16T08:24:18.5751305Z     },
2026-06-16T08:24:18.5751376Z     {
2026-06-16T08:24:18.5751471Z       "id": "REQ-HOST-RUN-2",
2026-06-16T08:24:18.5753194Z       "title": "Project-scoped working directory for spt-hosted bringup: `spt endpoint run` lands the broker-spawned harness PTY in the user's PROJECT cwd, not the daemon's, via an additive `SpawnReq.cwd` field carried through the broker PTY spawn (portable-pty CommandBuilder cwd). N-1-safe wire change (additive, defaulted). Required because the consumer (Claude Code) is project-scoped: broker-inherited cwd = the daemon's cwd = the wrong `.claude`, wrong session history, wrong digest source; `cc <id>` at a project root MUST land the harness in that project. W1 ships broker-inherited cwd as a bringup-proof shortcut only; this REQ must land before the M12 gate (doyle, 2026-06-14).",
2026-06-16T08:24:18.5753294Z       "requiredStages": [
2026-06-16T08:24:18.5753380Z         "impl",
2026-06-16T08:24:18.5753460Z         "unit",
2026-06-16T08:24:18.5753533Z         "int"
2026-06-16T08:24:18.5753614Z       ],
2026-06-16T08:24:18.5753704Z       "stages": {
2026-06-16T08:24:18.5753785Z         "doc": {
2026-06-16T08:24:18.5753887Z           "complete": false,
2026-06-16T08:24:18.5753971Z           "evidence": []
2026-06-16T08:24:18.5754048Z         },
2026-06-16T08:24:18.5754138Z         "impl": {
2026-06-16T08:24:18.5754225Z           "complete": true,
2026-06-16T08:24:18.5754310Z           "evidence": [
2026-06-16T08:24:18.5754391Z             {
2026-06-16T08:24:18.5754521Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T08:24:18.5754601Z               "line": 110
2026-06-16T08:24:18.5754686Z             },
2026-06-16T08:24:18.5754763Z             {
2026-06-16T08:24:18.5754873Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T08:24:18.5754962Z               "line": 113
2026-06-16T08:24:18.5755028Z             }
2026-06-16T08:24:18.5755109Z           ]
2026-06-16T08:24:18.5755186Z         },
2026-06-16T08:24:18.5755268Z         "int": {
2026-06-16T08:24:18.5755362Z           "complete": true,
2026-06-16T08:24:18.5755443Z           "evidence": [
2026-06-16T08:24:18.5755525Z             {
2026-06-16T08:24:18.5755763Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5755854Z               "line": 454
2026-06-16T08:24:18.5755935Z             }
2026-06-16T08:24:18.5756015Z           ]
2026-06-16T08:24:18.5756097Z         },
2026-06-16T08:24:18.5756269Z         "unit": {
2026-06-16T08:24:18.5756354Z           "complete": true,
2026-06-16T08:24:18.5756441Z           "evidence": [
2026-06-16T08:24:18.5756526Z             {
2026-06-16T08:24:18.5756645Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T08:24:18.5756732Z               "line": 86
2026-06-16T08:24:18.5756822Z             }
2026-06-16T08:24:18.5756888Z           ]
2026-06-16T08:24:18.5756964Z         }
2026-06-16T08:24:18.5757046Z       }
2026-06-16T08:24:18.5757118Z     },
2026-06-16T08:24:18.5757193Z     {
2026-06-16T08:24:18.5757288Z       "id": "REQ-INFRA-1",
2026-06-16T08:24:18.5757464Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-16T08:24:18.5757567Z       "requiredStages": [],
2026-06-16T08:24:18.5757648Z       "stages": {
2026-06-16T08:24:18.5757729Z         "doc": {
2026-06-16T08:24:18.5757821Z           "complete": false,
2026-06-16T08:24:18.5757909Z           "evidence": []
2026-06-16T08:24:18.5757991Z         },
2026-06-16T08:24:18.5758078Z         "impl": {
2026-06-16T08:24:18.5758168Z           "complete": false,
2026-06-16T08:24:18.5758253Z           "evidence": []
2026-06-16T08:24:18.5758330Z         },
2026-06-16T08:24:18.5758412Z         "int": {
2026-06-16T08:24:18.5758502Z           "complete": false,
2026-06-16T08:24:18.5758591Z           "evidence": []
2026-06-16T08:24:18.5758669Z         },
2026-06-16T08:24:18.5758750Z         "unit": {
2026-06-16T08:24:18.5758840Z           "complete": false,
2026-06-16T08:24:18.5758916Z           "evidence": []
2026-06-16T08:24:18.5759088Z         }
2026-06-16T08:24:18.5759169Z       }
2026-06-16T08:24:18.5759245Z     },
2026-06-16T08:24:18.5759322Z     {
2026-06-16T08:24:18.5759417Z       "id": "REQ-INST-1",
2026-06-16T08:24:18.5759570Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-16T08:24:18.5759657Z       "requiredStages": [],
2026-06-16T08:24:18.5759741Z       "stages": {
2026-06-16T08:24:18.5759818Z         "doc": {
2026-06-16T08:24:18.5759914Z           "complete": false,
2026-06-16T08:24:18.5760005Z           "evidence": []
2026-06-16T08:24:18.5760079Z         },
2026-06-16T08:24:18.5760160Z         "impl": {
2026-06-16T08:24:18.5760255Z           "complete": false,
2026-06-16T08:24:18.5760345Z           "evidence": []
2026-06-16T08:24:18.5760424Z         },
2026-06-16T08:24:18.5760510Z         "int": {
2026-06-16T08:24:18.5760591Z           "complete": false,
2026-06-16T08:24:18.5760673Z           "evidence": []
2026-06-16T08:24:18.5760753Z         },
2026-06-16T08:24:18.5760834Z         "unit": {
2026-06-16T08:24:18.5760926Z           "complete": false,
2026-06-16T08:24:18.5761006Z           "evidence": []
2026-06-16T08:24:18.5761082Z         }
2026-06-16T08:24:18.5761163Z       }
2026-06-16T08:24:18.5761245Z     },
2026-06-16T08:24:18.5761330Z     {
2026-06-16T08:24:18.5761420Z       "id": "REQ-INST-10",
2026-06-16T08:24:18.5761626Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-16T08:24:18.5761726Z       "requiredStages": [
2026-06-16T08:24:18.5761802Z         "impl",
2026-06-16T08:24:18.5761885Z         "unit"
2026-06-16T08:24:18.5761960Z       ],
2026-06-16T08:24:18.5762045Z       "stages": {
2026-06-16T08:24:18.5762122Z         "doc": {
2026-06-16T08:24:18.5762209Z           "complete": false,
2026-06-16T08:24:18.5762298Z           "evidence": []
2026-06-16T08:24:18.5762374Z         },
2026-06-16T08:24:18.5762456Z         "impl": {
2026-06-16T08:24:18.5762548Z           "complete": true,
2026-06-16T08:24:18.5762622Z           "evidence": [
2026-06-16T08:24:18.5762708Z             {
2026-06-16T08:24:18.5762836Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5763015Z               "line": 616
2026-06-16T08:24:18.5763090Z             },
2026-06-16T08:24:18.5763168Z             {
2026-06-16T08:24:18.5763287Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5763377Z               "line": 693
2026-06-16T08:24:18.5763673Z             },
2026-06-16T08:24:18.5763759Z             {
2026-06-16T08:24:18.5763869Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5763959Z               "line": 13
2026-06-16T08:24:18.5764039Z             },
2026-06-16T08:24:18.5764122Z             {
2026-06-16T08:24:18.5764236Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5764321Z               "line": 67
2026-06-16T08:24:18.5764403Z             },
2026-06-16T08:24:18.5764470Z             {
2026-06-16T08:24:18.5764584Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5764674Z               "line": 18
2026-06-16T08:24:18.5764752Z             },
2026-06-16T08:24:18.5764822Z             {
2026-06-16T08:24:18.5764927Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5765018Z               "line": 444
2026-06-16T08:24:18.5765100Z             }
2026-06-16T08:24:18.5765179Z           ]
2026-06-16T08:24:18.5765266Z         },
2026-06-16T08:24:18.5765333Z         "int": {
2026-06-16T08:24:18.5765466Z           "complete": false,
2026-06-16T08:24:18.5765551Z           "evidence": []
2026-06-16T08:24:18.5765626Z         },
2026-06-16T08:24:18.5765708Z         "unit": {
2026-06-16T08:24:18.5765819Z           "complete": true,
2026-06-16T08:24:18.5765918Z           "evidence": [
2026-06-16T08:24:18.5765999Z             {
2026-06-16T08:24:18.5766119Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5766208Z               "line": 900
2026-06-16T08:24:18.5766328Z             },
2026-06-16T08:24:18.5766414Z             {
2026-06-16T08:24:18.5766552Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5766633Z               "line": 1233
2026-06-16T08:24:18.5766710Z             },
2026-06-16T08:24:18.5766786Z             {
2026-06-16T08:24:18.5766895Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5766982Z               "line": 1244
2026-06-16T08:24:18.5767063Z             },
2026-06-16T08:24:18.5767158Z             {
2026-06-16T08:24:18.5767272Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5767368Z               "line": 1260
2026-06-16T08:24:18.5767467Z             },
2026-06-16T08:24:18.5767539Z             {
2026-06-16T08:24:18.5767659Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5767734Z               "line": 1276
2026-06-16T08:24:18.5767819Z             },
2026-06-16T08:24:18.5767895Z             {
2026-06-16T08:24:18.5768005Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5768094Z               "line": 1298
2026-06-16T08:24:18.5768174Z             },
2026-06-16T08:24:18.5768256Z             {
2026-06-16T08:24:18.5768366Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5768456Z               "line": 1603
2026-06-16T08:24:18.5768546Z             },
2026-06-16T08:24:18.5768628Z             {
2026-06-16T08:24:18.5768742Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5768827Z               "line": 130
2026-06-16T08:24:18.5768919Z             },
2026-06-16T08:24:18.5769090Z             {
2026-06-16T08:24:18.5769205Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5769310Z               "line": 167
2026-06-16T08:24:18.5769395Z             },
2026-06-16T08:24:18.5769476Z             {
2026-06-16T08:24:18.5769577Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5769672Z               "line": 175
2026-06-16T08:24:18.5769748Z             },
2026-06-16T08:24:18.5769825Z             {
2026-06-16T08:24:18.5769944Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T08:24:18.5770024Z               "line": 183
2026-06-16T08:24:18.5770207Z             },
2026-06-16T08:24:18.5770287Z             {
2026-06-16T08:24:18.5770401Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5770479Z               "line": 896
2026-06-16T08:24:18.5770565Z             }
2026-06-16T08:24:18.5770796Z           ]
2026-06-16T08:24:18.5770882Z         }
2026-06-16T08:24:18.5770961Z       }
2026-06-16T08:24:18.5771041Z     },
2026-06-16T08:24:18.5771128Z     {
2026-06-16T08:24:18.5771219Z       "id": "REQ-INST-11",
2026-06-16T08:24:18.5771432Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-16T08:24:18.5771534Z       "requiredStages": [
2026-06-16T08:24:18.5771610Z         "impl",
2026-06-16T08:24:18.5771694Z         "unit"
2026-06-16T08:24:18.5771772Z       ],
2026-06-16T08:24:18.5771853Z       "stages": {
2026-06-16T08:24:18.5771939Z         "doc": {
2026-06-16T08:24:18.5772023Z           "complete": false,
2026-06-16T08:24:18.5772115Z           "evidence": []
2026-06-16T08:24:18.5772201Z         },
2026-06-16T08:24:18.5772282Z         "impl": {
2026-06-16T08:24:18.5772363Z           "complete": true,
2026-06-16T08:24:18.5772454Z           "evidence": [
2026-06-16T08:24:18.5772543Z             {
2026-06-16T08:24:18.5772673Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5772769Z               "line": 482
2026-06-16T08:24:18.5772844Z             },
2026-06-16T08:24:18.5772925Z             {
2026-06-16T08:24:18.5773051Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5773146Z               "line": 297
2026-06-16T08:24:18.5773234Z             },
2026-06-16T08:24:18.5773305Z             {
2026-06-16T08:24:18.5773425Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T08:24:18.5773514Z               "line": 59
2026-06-16T08:24:18.5773594Z             },
2026-06-16T08:24:18.5773708Z             {
2026-06-16T08:24:18.5773824Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5773928Z               "line": 4909
2026-06-16T08:24:18.5774014Z             },
2026-06-16T08:24:18.5774110Z             {
2026-06-16T08:24:18.5774209Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5774304Z               "line": 6474
2026-06-16T08:24:18.5774387Z             }
2026-06-16T08:24:18.5774472Z           ]
2026-06-16T08:24:18.5774562Z         },
2026-06-16T08:24:18.5774644Z         "int": {
2026-06-16T08:24:18.5774739Z           "complete": false,
2026-06-16T08:24:18.5774829Z           "evidence": []
2026-06-16T08:24:18.5774905Z         },
2026-06-16T08:24:18.5774982Z         "unit": {
2026-06-16T08:24:18.5775082Z           "complete": true,
2026-06-16T08:24:18.5775163Z           "evidence": [
2026-06-16T08:24:18.5775248Z             {
2026-06-16T08:24:18.5775369Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5775453Z               "line": 1403
2026-06-16T08:24:18.5775540Z             },
2026-06-16T08:24:18.5775617Z             {
2026-06-16T08:24:18.5775749Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5775883Z               "line": 1436
2026-06-16T08:24:18.5775965Z             },
2026-06-16T08:24:18.5776059Z             {
2026-06-16T08:24:18.5776182Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5776278Z               "line": 527
2026-06-16T08:24:18.5776360Z             },
2026-06-16T08:24:18.5776440Z             {
2026-06-16T08:24:18.5776573Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T08:24:18.5776665Z               "line": 160
2026-06-16T08:24:18.5776750Z             },
2026-06-16T08:24:18.5776830Z             {
2026-06-16T08:24:18.5776946Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T08:24:18.5777036Z               "line": 190
2026-06-16T08:24:18.5777121Z             },
2026-06-16T08:24:18.5777203Z             {
2026-06-16T08:24:18.5777308Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T08:24:18.5777479Z               "line": 225
2026-06-16T08:24:18.5777561Z             },
2026-06-16T08:24:18.5777660Z             {
2026-06-16T08:24:18.5777770Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5777852Z               "line": 6910
2026-06-16T08:24:18.5777928Z             }
2026-06-16T08:24:18.5778080Z           ]
2026-06-16T08:24:18.5778171Z         }
2026-06-16T08:24:18.5778252Z       }
2026-06-16T08:24:18.5778328Z     },
2026-06-16T08:24:18.5778408Z     {
2026-06-16T08:24:18.5778494Z       "id": "REQ-INST-12",
2026-06-16T08:24:18.5778801Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-16T08:24:18.5778893Z       "requiredStages": [
2026-06-16T08:24:18.5779039Z         "impl",
2026-06-16T08:24:18.5779121Z         "unit"
2026-06-16T08:24:18.5779208Z       ],
2026-06-16T08:24:18.5779302Z       "stages": {
2026-06-16T08:24:18.5779387Z         "doc": {
2026-06-16T08:24:18.5779503Z           "complete": false,
2026-06-16T08:24:18.5779593Z           "evidence": []
2026-06-16T08:24:18.5779679Z         },
2026-06-16T08:24:18.5779750Z         "impl": {
2026-06-16T08:24:18.5779846Z           "complete": true,
2026-06-16T08:24:18.5779927Z           "evidence": [
2026-06-16T08:24:18.5780003Z             {
2026-06-16T08:24:18.5780161Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5780241Z               "line": 534
2026-06-16T08:24:18.5780327Z             },
2026-06-16T08:24:18.5780414Z             {
2026-06-16T08:24:18.5780556Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5780647Z               "line": 627
2026-06-16T08:24:18.5780729Z             },
2026-06-16T08:24:18.5780805Z             {
2026-06-16T08:24:18.5780918Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5781010Z               "line": 707
2026-06-16T08:24:18.5781087Z             },
2026-06-16T08:24:18.5781167Z             {
2026-06-16T08:24:18.5781280Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5781380Z               "line": 96
2026-06-16T08:24:18.5781479Z             },
2026-06-16T08:24:18.5781550Z             {
2026-06-16T08:24:18.5781663Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5781750Z               "line": 269
2026-06-16T08:24:18.5781827Z             },
2026-06-16T08:24:18.5781935Z             {
2026-06-16T08:24:18.5782070Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5782175Z               "line": 135
2026-06-16T08:24:18.5782278Z             }
2026-06-16T08:24:18.5782375Z           ]
2026-06-16T08:24:18.5782455Z         },
2026-06-16T08:24:18.5782536Z         "int": {
2026-06-16T08:24:18.5782632Z           "complete": false,
2026-06-16T08:24:18.5782718Z           "evidence": []
2026-06-16T08:24:18.5782798Z         },
2026-06-16T08:24:18.5782884Z         "unit": {
2026-06-16T08:24:18.5782986Z           "complete": true,
2026-06-16T08:24:18.5783132Z           "evidence": [
2026-06-16T08:24:18.5783223Z             {
2026-06-16T08:24:18.5783343Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5783423Z               "line": 1478
2026-06-16T08:24:18.5783509Z             },
2026-06-16T08:24:18.5783586Z             {
2026-06-16T08:24:18.5783706Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5783794Z               "line": 1501
2026-06-16T08:24:18.5783875Z             },
2026-06-16T08:24:18.5783961Z             {
2026-06-16T08:24:18.5784074Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5784168Z               "line": 1538
2026-06-16T08:24:18.5784240Z             },
2026-06-16T08:24:18.5784327Z             {
2026-06-16T08:24:18.5784431Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.5784526Z               "line": 457
2026-06-16T08:24:18.5784618Z             },
2026-06-16T08:24:18.5784693Z             {
2026-06-16T08:24:18.5784817Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5785027Z               "line": 172
2026-06-16T08:24:18.5785112Z             },
2026-06-16T08:24:18.5785184Z             {
2026-06-16T08:24:18.5785313Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5785498Z               "line": 193
2026-06-16T08:24:18.5785581Z             },
2026-06-16T08:24:18.5785665Z             {
2026-06-16T08:24:18.5785780Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5785862Z               "line": 219
2026-06-16T08:24:18.5785948Z             }
2026-06-16T08:24:18.5786023Z           ]
2026-06-16T08:24:18.5786105Z         }
2026-06-16T08:24:18.5786177Z       }
2026-06-16T08:24:18.5786342Z     },
2026-06-16T08:24:18.5786424Z     {
2026-06-16T08:24:18.5786521Z       "id": "REQ-INST-13",
2026-06-16T08:24:18.5786704Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-16T08:24:18.5786805Z       "requiredStages": [
2026-06-16T08:24:18.5786896Z         "impl",
2026-06-16T08:24:18.5786976Z         "unit"
2026-06-16T08:24:18.5787066Z       ],
2026-06-16T08:24:18.5787143Z       "stages": {
2026-06-16T08:24:18.5787220Z         "doc": {
2026-06-16T08:24:18.5787319Z           "complete": false,
2026-06-16T08:24:18.5787434Z           "evidence": []
2026-06-16T08:24:18.5787520Z         },
2026-06-16T08:24:18.5787597Z         "impl": {
2026-06-16T08:24:18.5787696Z           "complete": true,
2026-06-16T08:24:18.5787777Z           "evidence": [
2026-06-16T08:24:18.5787854Z             {
2026-06-16T08:24:18.5787972Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5788063Z               "line": 100
2026-06-16T08:24:18.5788146Z             },
2026-06-16T08:24:18.5788225Z             {
2026-06-16T08:24:18.5788349Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5788427Z               "line": 158
2026-06-16T08:24:18.5788507Z             }
2026-06-16T08:24:18.5788587Z           ]
2026-06-16T08:24:18.5788669Z         },
2026-06-16T08:24:18.5788756Z         "int": {
2026-06-16T08:24:18.5788841Z           "complete": false,
2026-06-16T08:24:18.5788926Z           "evidence": []
2026-06-16T08:24:18.5789097Z         },
2026-06-16T08:24:18.5789172Z         "unit": {
2026-06-16T08:24:18.5789266Z           "complete": true,
2026-06-16T08:24:18.5789352Z           "evidence": [
2026-06-16T08:24:18.5789433Z             {
2026-06-16T08:24:18.5789543Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5789637Z               "line": 248
2026-06-16T08:24:18.5789724Z             },
2026-06-16T08:24:18.5789806Z             {
2026-06-16T08:24:18.5789929Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T08:24:18.5790005Z               "line": 266
2026-06-16T08:24:18.5790087Z             }
2026-06-16T08:24:18.5790163Z           ]
2026-06-16T08:24:18.5790248Z         }
2026-06-16T08:24:18.5790330Z       }
2026-06-16T08:24:18.5790411Z     },
2026-06-16T08:24:18.5790497Z     {
2026-06-16T08:24:18.5790586Z       "id": "REQ-INST-14",
2026-06-16T08:24:18.5790955Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-16T08:24:18.5791050Z       "requiredStages": [
2026-06-16T08:24:18.5791130Z         "doc",
2026-06-16T08:24:18.5791212Z         "impl",
2026-06-16T08:24:18.5791289Z         "unit"
2026-06-16T08:24:18.5791370Z       ],
2026-06-16T08:24:18.5791450Z       "stages": {
2026-06-16T08:24:18.5791541Z         "doc": {
2026-06-16T08:24:18.5791628Z           "complete": true,
2026-06-16T08:24:18.5791722Z           "evidence": [
2026-06-16T08:24:18.5791807Z             {
2026-06-16T08:24:18.5791907Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5791997Z               "line": 533
2026-06-16T08:24:18.5792081Z             },
2026-06-16T08:24:18.5792161Z             {
2026-06-16T08:24:18.5792262Z               "path": "docs/STORAGE.md",
2026-06-16T08:24:18.5792349Z               "line": 49
2026-06-16T08:24:18.5792534Z             }
2026-06-16T08:24:18.5792616Z           ]
2026-06-16T08:24:18.5792701Z         },
2026-06-16T08:24:18.5792772Z         "impl": {
2026-06-16T08:24:18.5792868Z           "complete": true,
2026-06-16T08:24:18.5792949Z           "evidence": [
2026-06-16T08:24:18.5793129Z             {
2026-06-16T08:24:18.5793250Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5793335Z               "line": 404
2026-06-16T08:24:18.5793416Z             },
2026-06-16T08:24:18.5793502Z             {
2026-06-16T08:24:18.5793617Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5793697Z               "line": 346
2026-06-16T08:24:18.5793773Z             },
2026-06-16T08:24:18.5793856Z             {
2026-06-16T08:24:18.5793974Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5794065Z               "line": 235
2026-06-16T08:24:18.5794141Z             },
2026-06-16T08:24:18.5794223Z             {
2026-06-16T08:24:18.5794336Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5794426Z               "line": 1422
2026-06-16T08:24:18.5794512Z             }
2026-06-16T08:24:18.5794597Z           ]
2026-06-16T08:24:18.5794686Z         },
2026-06-16T08:24:18.5794762Z         "int": {
2026-06-16T08:24:18.5794857Z           "complete": false,
2026-06-16T08:24:18.5794935Z           "evidence": []
2026-06-16T08:24:18.5795014Z         },
2026-06-16T08:24:18.5795096Z         "unit": {
2026-06-16T08:24:18.5795192Z           "complete": true,
2026-06-16T08:24:18.5795288Z           "evidence": [
2026-06-16T08:24:18.5795367Z             {
2026-06-16T08:24:18.5795497Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5795577Z               "line": 1111
2026-06-16T08:24:18.5795654Z             },
2026-06-16T08:24:18.5795730Z             {
2026-06-16T08:24:18.5795855Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5795935Z               "line": 912
2026-06-16T08:24:18.5796025Z             },
2026-06-16T08:24:18.5796108Z             {
2026-06-16T08:24:18.5796226Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5796316Z               "line": 1173
2026-06-16T08:24:18.5796403Z             },
2026-06-16T08:24:18.5796499Z             {
2026-06-16T08:24:18.5796612Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5796703Z               "line": 533
2026-06-16T08:24:18.5796795Z             },
2026-06-16T08:24:18.5796879Z             {
2026-06-16T08:24:18.5796989Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5797076Z               "line": 6986
2026-06-16T08:24:18.5797157Z             }
2026-06-16T08:24:18.5797240Z           ]
2026-06-16T08:24:18.5797312Z         }
2026-06-16T08:24:18.5797403Z       }
2026-06-16T08:24:18.5797480Z     },
2026-06-16T08:24:18.5797565Z     {
2026-06-16T08:24:18.5797650Z       "id": "REQ-INST-15",
2026-06-16T08:24:18.5798357Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-16T08:24:18.5798471Z       "requiredStages": [
2026-06-16T08:24:18.5798551Z         "doc",
2026-06-16T08:24:18.5798648Z         "impl",
2026-06-16T08:24:18.5798734Z         "unit"
2026-06-16T08:24:18.5798809Z       ],
2026-06-16T08:24:18.5798900Z       "stages": {
2026-06-16T08:24:18.5799053Z         "doc": {
2026-06-16T08:24:18.5799147Z           "complete": true,
2026-06-16T08:24:18.5799234Z           "evidence": [
2026-06-16T08:24:18.5799321Z             {
2026-06-16T08:24:18.5799486Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-16T08:24:18.5802212Z               "line": 3
2026-06-16T08:24:18.5802320Z             }
2026-06-16T08:24:18.5802405Z           ]
2026-06-16T08:24:18.5802481Z         },
2026-06-16T08:24:18.5802708Z         "impl": {
2026-06-16T08:24:18.5802808Z           "complete": true,
2026-06-16T08:24:18.5802885Z           "evidence": [
2026-06-16T08:24:18.5802975Z             {
2026-06-16T08:24:18.5803108Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5803295Z               "line": 353
2026-06-16T08:24:18.5803384Z             },
2026-06-16T08:24:18.5803462Z             {
2026-06-16T08:24:18.5803586Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.5803661Z               "line": 60
2026-06-16T08:24:18.5803743Z             },
2026-06-16T08:24:18.5803829Z             {
2026-06-16T08:24:18.5803957Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5804043Z               "line": 368
2026-06-16T08:24:18.5804125Z             },
2026-06-16T08:24:18.5804201Z             {
2026-06-16T08:24:18.5804324Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5804406Z               "line": 417
2026-06-16T08:24:18.5804502Z             },
2026-06-16T08:24:18.5804581Z             {
2026-06-16T08:24:18.5804687Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5804769Z               "line": 19
2026-06-16T08:24:18.5804849Z             },
2026-06-16T08:24:18.5804929Z             {
2026-06-16T08:24:18.5805033Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5805129Z               "line": 70
2026-06-16T08:24:18.5805208Z             },
2026-06-16T08:24:18.5805288Z             {
2026-06-16T08:24:18.5805389Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5805475Z               "line": 96
2026-06-16T08:24:18.5805556Z             },
2026-06-16T08:24:18.5805641Z             {
2026-06-16T08:24:18.5805757Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5805843Z               "line": 121
2026-06-16T08:24:18.5805922Z             },
2026-06-16T08:24:18.5806004Z             {
2026-06-16T08:24:18.5806119Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5806209Z               "line": 172
2026-06-16T08:24:18.5806290Z             },
2026-06-16T08:24:18.5806372Z             {
2026-06-16T08:24:18.5806480Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5806571Z               "line": 138
2026-06-16T08:24:18.5806658Z             },
2026-06-16T08:24:18.5806744Z             {
2026-06-16T08:24:18.5806853Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5806944Z               "line": 1314
2026-06-16T08:24:18.5807030Z             }
2026-06-16T08:24:18.5807110Z           ]
2026-06-16T08:24:18.5807187Z         },
2026-06-16T08:24:18.5807268Z         "int": {
2026-06-16T08:24:18.5807369Z           "complete": false,
2026-06-16T08:24:18.5807467Z           "evidence": []
2026-06-16T08:24:18.5807544Z         },
2026-06-16T08:24:18.5807631Z         "unit": {
2026-06-16T08:24:18.5807717Z           "complete": true,
2026-06-16T08:24:18.5807800Z           "evidence": [
2026-06-16T08:24:18.5807886Z             {
2026-06-16T08:24:18.5808016Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5808092Z               "line": 577
2026-06-16T08:24:18.5808177Z             },
2026-06-16T08:24:18.5808259Z             {
2026-06-16T08:24:18.5808383Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.5808477Z               "line": 638
2026-06-16T08:24:18.5808554Z             },
2026-06-16T08:24:18.5808636Z             {
2026-06-16T08:24:18.5808750Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5808825Z               "line": 213
2026-06-16T08:24:18.5808907Z             },
2026-06-16T08:24:18.5809093Z             {
2026-06-16T08:24:18.5809203Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5809289Z               "line": 249
2026-06-16T08:24:18.5809379Z             },
2026-06-16T08:24:18.5809455Z             {
2026-06-16T08:24:18.5809561Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5809750Z               "line": 262
2026-06-16T08:24:18.5809827Z             },
2026-06-16T08:24:18.5809910Z             {
2026-06-16T08:24:18.5810017Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T08:24:18.5810217Z               "line": 338
2026-06-16T08:24:18.5810297Z             },
2026-06-16T08:24:18.5810377Z             {
2026-06-16T08:24:18.5810492Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.5810573Z               "line": 541
2026-06-16T08:24:18.5810654Z             },
2026-06-16T08:24:18.5810739Z             {
2026-06-16T08:24:18.5810840Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5810921Z               "line": 6923
2026-06-16T08:24:18.5810997Z             },
2026-06-16T08:24:18.5811087Z             {
2026-06-16T08:24:18.5811189Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5811274Z               "line": 8663
2026-06-16T08:24:18.5811354Z             }
2026-06-16T08:24:18.5811436Z           ]
2026-06-16T08:24:18.5811517Z         }
2026-06-16T08:24:18.5811598Z       }
2026-06-16T08:24:18.5811673Z     },
2026-06-16T08:24:18.5811750Z     {
2026-06-16T08:24:18.5811846Z       "id": "REQ-INST-2",
2026-06-16T08:24:18.5811960Z       "title": "Per-node files, synced Psyche mind",
2026-06-16T08:24:18.5812065Z       "requiredStages": [
2026-06-16T08:24:18.5812147Z         "impl",
2026-06-16T08:24:18.5812227Z         "unit"
2026-06-16T08:24:18.5812313Z       ],
2026-06-16T08:24:18.5812390Z       "stages": {
2026-06-16T08:24:18.5812472Z         "doc": {
2026-06-16T08:24:18.5812560Z           "complete": false,
2026-06-16T08:24:18.5812656Z           "evidence": []
2026-06-16T08:24:18.5812738Z         },
2026-06-16T08:24:18.5812814Z         "impl": {
2026-06-16T08:24:18.5812908Z           "complete": true,
2026-06-16T08:24:18.5812988Z           "evidence": [
2026-06-16T08:24:18.5813089Z             {
2026-06-16T08:24:18.5813201Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5813296Z               "line": 88
2026-06-16T08:24:18.5813377Z             },
2026-06-16T08:24:18.5813459Z             {
2026-06-16T08:24:18.5813573Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5813654Z               "line": 28
2026-06-16T08:24:18.5813736Z             },
2026-06-16T08:24:18.5813817Z             {
2026-06-16T08:24:18.5813931Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5814017Z               "line": 74
2026-06-16T08:24:18.5814093Z             },
2026-06-16T08:24:18.5814174Z             {
2026-06-16T08:24:18.5814283Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5814371Z               "line": 96
2026-06-16T08:24:18.5814450Z             },
2026-06-16T08:24:18.5814536Z             {
2026-06-16T08:24:18.5814646Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.5814727Z               "line": 86
2026-06-16T08:24:18.5814813Z             },
2026-06-16T08:24:18.5814899Z             {
2026-06-16T08:24:18.5815014Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T08:24:18.5815094Z               "line": 118
2026-06-16T08:24:18.5815180Z             }
2026-06-16T08:24:18.5815262Z           ]
2026-06-16T08:24:18.5815348Z         },
2026-06-16T08:24:18.5815428Z         "int": {
2026-06-16T08:24:18.5815522Z           "complete": false,
2026-06-16T08:24:18.5815613Z           "evidence": []
2026-06-16T08:24:18.5815694Z         },
2026-06-16T08:24:18.5815773Z         "unit": {
2026-06-16T08:24:18.5815867Z           "complete": true,
2026-06-16T08:24:18.5815949Z           "evidence": [
2026-06-16T08:24:18.5816031Z             {
2026-06-16T08:24:18.5816135Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T08:24:18.5816226Z               "line": 250
2026-06-16T08:24:18.5816303Z             },
2026-06-16T08:24:18.5816383Z             {
2026-06-16T08:24:18.5816497Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.5816660Z               "line": 280
2026-06-16T08:24:18.5816745Z             }
2026-06-16T08:24:18.5816826Z           ]
2026-06-16T08:24:18.5816909Z         }
2026-06-16T08:24:18.5816979Z       }
2026-06-16T08:24:18.5817065Z     },
2026-06-16T08:24:18.5817150Z     {
2026-06-16T08:24:18.5817308Z       "id": "REQ-INST-3",
2026-06-16T08:24:18.5817451Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-16T08:24:18.5817538Z       "requiredStages": [
2026-06-16T08:24:18.5817619Z         "doc",
2026-06-16T08:24:18.5817703Z         "impl",
2026-06-16T08:24:18.5817785Z         "unit"
2026-06-16T08:24:18.5817867Z       ],
2026-06-16T08:24:18.5817948Z       "stages": {
2026-06-16T08:24:18.5818027Z         "doc": {
2026-06-16T08:24:18.5818119Z           "complete": true,
2026-06-16T08:24:18.5818206Z           "evidence": [
2026-06-16T08:24:18.5818286Z             {
2026-06-16T08:24:18.5818399Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-16T08:24:18.5818489Z               "line": 3
2026-06-16T08:24:18.5818567Z             }
2026-06-16T08:24:18.5818648Z           ]
2026-06-16T08:24:18.5818727Z         },
2026-06-16T08:24:18.5818804Z         "impl": {
2026-06-16T08:24:18.5818896Z           "complete": true,
2026-06-16T08:24:18.5819056Z           "evidence": [
2026-06-16T08:24:18.5819148Z             {
2026-06-16T08:24:18.5819277Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.5819352Z               "line": 59
2026-06-16T08:24:18.5819438Z             },
2026-06-16T08:24:18.5819516Z             {
2026-06-16T08:24:18.5819639Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.5819720Z               "line": 480
2026-06-16T08:24:18.5819797Z             },
2026-06-16T08:24:18.5819878Z             {
2026-06-16T08:24:18.5819996Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5820078Z               "line": 204
2026-06-16T08:24:18.5820155Z             },
2026-06-16T08:24:18.5820234Z             {
2026-06-16T08:24:18.5820369Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5820446Z               "line": 334
2026-06-16T08:24:18.5820531Z             },
2026-06-16T08:24:18.5820610Z             {
2026-06-16T08:24:18.5820730Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5820825Z               "line": 368
2026-06-16T08:24:18.5820908Z             },
2026-06-16T08:24:18.5820989Z             {
2026-06-16T08:24:18.5821104Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-16T08:24:18.5821186Z               "line": 74
2026-06-16T08:24:18.5821270Z             },
2026-06-16T08:24:18.5821347Z             {
2026-06-16T08:24:18.5821472Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5821566Z               "line": 234
2026-06-16T08:24:18.5821643Z             },
2026-06-16T08:24:18.5821725Z             {
2026-06-16T08:24:18.5821853Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5821938Z               "line": 390
2026-06-16T08:24:18.5822020Z             },
2026-06-16T08:24:18.5822101Z             {
2026-06-16T08:24:18.5822219Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5822305Z               "line": 45
2026-06-16T08:24:18.5822397Z             },
2026-06-16T08:24:18.5822472Z             {
2026-06-16T08:24:18.5822596Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5822679Z               "line": 114
2026-06-16T08:24:18.5822759Z             },
2026-06-16T08:24:18.5822840Z             {
2026-06-16T08:24:18.5822950Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5823036Z               "line": 152
2026-06-16T08:24:18.5823111Z             },
2026-06-16T08:24:18.5823192Z             {
2026-06-16T08:24:18.5823323Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5823412Z               "line": 168
2026-06-16T08:24:18.5823487Z             },
2026-06-16T08:24:18.5823567Z             {
2026-06-16T08:24:18.5823795Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5823880Z               "line": 178
2026-06-16T08:24:18.5823967Z             },
2026-06-16T08:24:18.5824039Z             {
2026-06-16T08:24:18.5824152Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5824334Z               "line": 210
2026-06-16T08:24:18.5824419Z             },
2026-06-16T08:24:18.5824510Z             {
2026-06-16T08:24:18.5824621Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5824711Z               "line": 287
2026-06-16T08:24:18.5824786Z             },
2026-06-16T08:24:18.5824868Z             {
2026-06-16T08:24:18.5824987Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5825068Z               "line": 311
2026-06-16T08:24:18.5825144Z             },
2026-06-16T08:24:18.5825226Z             {
2026-06-16T08:24:18.5825339Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5825440Z               "line": 389
2026-06-16T08:24:18.5825517Z             },
2026-06-16T08:24:18.5825593Z             {
2026-06-16T08:24:18.5825697Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5825788Z               "line": 438
2026-06-16T08:24:18.5825860Z             },
2026-06-16T08:24:18.5825946Z             {
2026-06-16T08:24:18.5826068Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-16T08:24:18.5826149Z               "line": 37
2026-06-16T08:24:18.5826235Z             },
2026-06-16T08:24:18.5826305Z             {
2026-06-16T08:24:18.5826437Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5826524Z               "line": 62
2026-06-16T08:24:18.5826605Z             },
2026-06-16T08:24:18.5826695Z             {
2026-06-16T08:24:18.5826809Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5826901Z               "line": 221
2026-06-16T08:24:18.5826977Z             },
2026-06-16T08:24:18.5827062Z             {
2026-06-16T08:24:18.5827159Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5827249Z               "line": 1647
2026-06-16T08:24:18.5827320Z             }
2026-06-16T08:24:18.5827400Z           ]
2026-06-16T08:24:18.5827483Z         },
2026-06-16T08:24:18.5827559Z         "int": {
2026-06-16T08:24:18.5827654Z           "complete": false,
2026-06-16T08:24:18.5827744Z           "evidence": []
2026-06-16T08:24:18.5827821Z         },
2026-06-16T08:24:18.5827902Z         "unit": {
2026-06-16T08:24:18.5827992Z           "complete": true,
2026-06-16T08:24:18.5828078Z           "evidence": [
2026-06-16T08:24:18.5828160Z             {
2026-06-16T08:24:18.5828278Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.5828354Z               "line": 360
2026-06-16T08:24:18.5828437Z             },
2026-06-16T08:24:18.5828512Z             {
2026-06-16T08:24:18.5828641Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5828723Z               "line": 787
2026-06-16T08:24:18.5828804Z             },
2026-06-16T08:24:18.5828883Z             {
2026-06-16T08:24:18.5829107Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5829189Z               "line": 844
2026-06-16T08:24:18.5829269Z             },
2026-06-16T08:24:18.5829350Z             {
2026-06-16T08:24:18.5829470Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5829555Z               "line": 889
2026-06-16T08:24:18.5829636Z             },
2026-06-16T08:24:18.5829713Z             {
2026-06-16T08:24:18.5829822Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.5829908Z               "line": 1014
2026-06-16T08:24:18.5829989Z             },
2026-06-16T08:24:18.5830066Z             {
2026-06-16T08:24:18.5830195Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5830284Z               "line": 1212
2026-06-16T08:24:18.5830362Z             },
2026-06-16T08:24:18.5830447Z             {
2026-06-16T08:24:18.5830668Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5830753Z               "line": 1353
2026-06-16T08:24:18.5830827Z             },
2026-06-16T08:24:18.5830909Z             {
2026-06-16T08:24:18.5831025Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5831204Z               "line": 449
2026-06-16T08:24:18.5831285Z             },
2026-06-16T08:24:18.5831361Z             {
2026-06-16T08:24:18.5831473Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5831559Z               "line": 485
2026-06-16T08:24:18.5831636Z             },
2026-06-16T08:24:18.5831717Z             {
2026-06-16T08:24:18.5831830Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5831912Z               "line": 540
2026-06-16T08:24:18.5831999Z             },
2026-06-16T08:24:18.5832075Z             {
2026-06-16T08:24:18.5832193Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5832275Z               "line": 697
2026-06-16T08:24:18.5832356Z             },
2026-06-16T08:24:18.5832441Z             {
2026-06-16T08:24:18.5832556Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5832652Z               "line": 931
2026-06-16T08:24:18.5832738Z             },
2026-06-16T08:24:18.5832822Z             {
2026-06-16T08:24:18.5832928Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5833009Z               "line": 945
2026-06-16T08:24:18.5833099Z             },
2026-06-16T08:24:18.5833180Z             {
2026-06-16T08:24:18.5833310Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5833405Z               "line": 1214
2026-06-16T08:24:18.5833486Z             },
2026-06-16T08:24:18.5833568Z             {
2026-06-16T08:24:18.5833676Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.5833767Z               "line": 483
2026-06-16T08:24:18.5833849Z             },
2026-06-16T08:24:18.5833935Z             {
2026-06-16T08:24:18.5834038Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5834128Z               "line": 6947
2026-06-16T08:24:18.5834209Z             }
2026-06-16T08:24:18.5834294Z           ]
2026-06-16T08:24:18.5834374Z         }
2026-06-16T08:24:18.5834459Z       }
2026-06-16T08:24:18.5834536Z     },
2026-06-16T08:24:18.5834618Z     {
2026-06-16T08:24:18.5834712Z       "id": "REQ-INST-4",
2026-06-16T08:24:18.5834889Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-16T08:24:18.5834980Z       "requiredStages": [
2026-06-16T08:24:18.5835070Z         "impl",
2026-06-16T08:24:18.5835147Z         "unit"
2026-06-16T08:24:18.5835228Z       ],
2026-06-16T08:24:18.5835313Z       "stages": {
2026-06-16T08:24:18.5835394Z         "doc": {
2026-06-16T08:24:18.5835476Z           "complete": false,
2026-06-16T08:24:18.5835570Z           "evidence": []
2026-06-16T08:24:18.5835661Z         },
2026-06-16T08:24:18.5835747Z         "impl": {
2026-06-16T08:24:18.5835844Z           "complete": true,
2026-06-16T08:24:18.5835933Z           "evidence": [
2026-06-16T08:24:18.5836019Z             {
2026-06-16T08:24:18.5836149Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5836238Z               "line": 335
2026-06-16T08:24:18.5836334Z             },
2026-06-16T08:24:18.5836416Z             {
2026-06-16T08:24:18.5836534Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5836619Z               "line": 202
2026-06-16T08:24:18.5836709Z             },
2026-06-16T08:24:18.5836786Z             {
2026-06-16T08:24:18.5836907Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5836988Z               "line": 234
2026-06-16T08:24:18.5837064Z             },
2026-06-16T08:24:18.5837142Z             {
2026-06-16T08:24:18.5837255Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5837351Z               "line": 274
2026-06-16T08:24:18.5837428Z             }
2026-06-16T08:24:18.5837579Z           ]
2026-06-16T08:24:18.5837665Z         },
2026-06-16T08:24:18.5837752Z         "int": {
2026-06-16T08:24:18.5837851Z           "complete": false,
2026-06-16T08:24:18.5837927Z           "evidence": []
2026-06-16T08:24:18.5838014Z         },
2026-06-16T08:24:18.5838180Z         "unit": {
2026-06-16T08:24:18.5838280Z           "complete": true,
2026-06-16T08:24:18.5838368Z           "evidence": [
2026-06-16T08:24:18.5838452Z             {
2026-06-16T08:24:18.5838581Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.5838663Z               "line": 839
2026-06-16T08:24:18.5838743Z             },
2026-06-16T08:24:18.5838824Z             {
2026-06-16T08:24:18.5839026Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5839110Z               "line": 561
2026-06-16T08:24:18.5839191Z             },
2026-06-16T08:24:18.5839273Z             {
2026-06-16T08:24:18.5839387Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5839491Z               "line": 668
2026-06-16T08:24:18.5839571Z             },
2026-06-16T08:24:18.5839649Z             {
2026-06-16T08:24:18.5839772Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5839848Z               "line": 750
2026-06-16T08:24:18.5839944Z             }
2026-06-16T08:24:18.5840021Z           ]
2026-06-16T08:24:18.5840106Z         }
2026-06-16T08:24:18.5840191Z       }
2026-06-16T08:24:18.5840274Z     },
2026-06-16T08:24:18.5840359Z     {
2026-06-16T08:24:18.5840440Z       "id": "REQ-INST-5",
2026-06-16T08:24:18.5840626Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-16T08:24:18.5840716Z       "requiredStages": [
2026-06-16T08:24:18.5840802Z         "impl",
2026-06-16T08:24:18.5840888Z         "unit",
2026-06-16T08:24:18.5840969Z         "int"
2026-06-16T08:24:18.5841064Z       ],
2026-06-16T08:24:18.5841149Z       "stages": {
2026-06-16T08:24:18.5841233Z         "doc": {
2026-06-16T08:24:18.5841332Z           "complete": false,
2026-06-16T08:24:18.5841422Z           "evidence": []
2026-06-16T08:24:18.5841503Z         },
2026-06-16T08:24:18.5841585Z         "impl": {
2026-06-16T08:24:18.5841679Z           "complete": true,
2026-06-16T08:24:18.5841769Z           "evidence": [
2026-06-16T08:24:18.5841850Z             {
2026-06-16T08:24:18.5841973Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-16T08:24:18.5842067Z               "line": 85
2026-06-16T08:24:18.5842147Z             },
2026-06-16T08:24:18.5842229Z             {
2026-06-16T08:24:18.5842344Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5842429Z               "line": 68
2026-06-16T08:24:18.5842506Z             },
2026-06-16T08:24:18.5842587Z             {
2026-06-16T08:24:18.5842701Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5842796Z               "line": 99
2026-06-16T08:24:18.5842874Z             },
2026-06-16T08:24:18.5842959Z             {
2026-06-16T08:24:18.5843068Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5843159Z               "line": 183
2026-06-16T08:24:18.5843245Z             },
2026-06-16T08:24:18.5843321Z             {
2026-06-16T08:24:18.5843435Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5843512Z               "line": 314
2026-06-16T08:24:18.5843597Z             }
2026-06-16T08:24:18.5843678Z           ]
2026-06-16T08:24:18.5843755Z         },
2026-06-16T08:24:18.5843842Z         "int": {
2026-06-16T08:24:18.5843935Z           "complete": true,
2026-06-16T08:24:18.5844021Z           "evidence": [
2026-06-16T08:24:18.5844104Z             {
2026-06-16T08:24:18.5844222Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.5844304Z               "line": 156
2026-06-16T08:24:18.5844380Z             },
2026-06-16T08:24:18.5844457Z             {
2026-06-16T08:24:18.5844574Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T08:24:18.5844764Z               "line": 102
2026-06-16T08:24:18.5844836Z             },
2026-06-16T08:24:18.5844915Z             {
2026-06-16T08:24:18.5845029Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5845121Z               "line": 683
2026-06-16T08:24:18.5845286Z             },
2026-06-16T08:24:18.5845368Z             {
2026-06-16T08:24:18.5845492Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5845577Z               "line": 1045
2026-06-16T08:24:18.5845658Z             }
2026-06-16T08:24:18.5845741Z           ]
2026-06-16T08:24:18.5845821Z         },
2026-06-16T08:24:18.5845901Z         "unit": {
2026-06-16T08:24:18.5845997Z           "complete": true,
2026-06-16T08:24:18.5846089Z           "evidence": [
2026-06-16T08:24:18.5846169Z             {
2026-06-16T08:24:18.5846284Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5846375Z               "line": 552
2026-06-16T08:24:18.5846460Z             },
2026-06-16T08:24:18.5846550Z             {
2026-06-16T08:24:18.5846661Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.5846756Z               "line": 595
2026-06-16T08:24:18.5846841Z             },
2026-06-16T08:24:18.5846923Z             {
2026-06-16T08:24:18.5847034Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.5847127Z               "line": 219
2026-06-16T08:24:18.5847203Z             }
2026-06-16T08:24:18.5847279Z           ]
2026-06-16T08:24:18.5847370Z         }
2026-06-16T08:24:18.5847448Z       }
2026-06-16T08:24:18.5847543Z     },
2026-06-16T08:24:18.5847620Z     {
2026-06-16T08:24:18.5847716Z       "id": "REQ-INST-6",
2026-06-16T08:24:18.5847896Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-16T08:24:18.5847988Z       "requiredStages": [
2026-06-16T08:24:18.5848078Z         "impl",
2026-06-16T08:24:18.5848154Z         "unit",
2026-06-16T08:24:18.5848240Z         "int"
2026-06-16T08:24:18.5848317Z       ],
2026-06-16T08:24:18.5848417Z       "stages": {
2026-06-16T08:24:18.5848497Z         "doc": {
2026-06-16T08:24:18.5848594Z           "complete": true,
2026-06-16T08:24:18.5848688Z           "evidence": [
2026-06-16T08:24:18.5848764Z             {
2026-06-16T08:24:18.5848864Z               "path": "docs/DEFERRED.md",
2026-06-16T08:24:18.5849041Z               "line": 13
2026-06-16T08:24:18.5849122Z             }
2026-06-16T08:24:18.5849204Z           ]
2026-06-16T08:24:18.5849285Z         },
2026-06-16T08:24:18.5849384Z         "impl": {
2026-06-16T08:24:18.5849480Z           "complete": true,
2026-06-16T08:24:18.5849572Z           "evidence": [
2026-06-16T08:24:18.5849651Z             {
2026-06-16T08:24:18.5849766Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.5849852Z               "line": 391
2026-06-16T08:24:18.5849938Z             },
2026-06-16T08:24:18.5850022Z             {
2026-06-16T08:24:18.5850136Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T08:24:18.5850228Z               "line": 27
2026-06-16T08:24:18.5850309Z             },
2026-06-16T08:24:18.5850389Z             {
2026-06-16T08:24:18.5850504Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T08:24:18.5850590Z               "line": 73
2026-06-16T08:24:18.5850671Z             },
2026-06-16T08:24:18.5850756Z             {
2026-06-16T08:24:18.5850876Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T08:24:18.5850957Z               "line": 182
2026-06-16T08:24:18.5851038Z             },
2026-06-16T08:24:18.5851119Z             {
2026-06-16T08:24:18.5851234Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5851329Z               "line": 426
2026-06-16T08:24:18.5851409Z             },
2026-06-16T08:24:18.5851487Z             {
2026-06-16T08:24:18.5851601Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-16T08:24:18.5851691Z               "line": 31
2026-06-16T08:24:18.5851773Z             },
2026-06-16T08:24:18.5851854Z             {
2026-06-16T08:24:18.5852068Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.5852155Z               "line": 202
2026-06-16T08:24:18.5852229Z             },
2026-06-16T08:24:18.5852310Z             {
2026-06-16T08:24:18.5852429Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5852613Z               "line": 83
2026-06-16T08:24:18.5852698Z             },
2026-06-16T08:24:18.5852789Z             {
2026-06-16T08:24:18.5852885Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5852979Z               "line": 1648
2026-06-16T08:24:18.5853061Z             },
2026-06-16T08:24:18.5853138Z             {
2026-06-16T08:24:18.5853252Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5853332Z               "line": 179
2026-06-16T08:24:18.5853414Z             },
2026-06-16T08:24:18.5853495Z             {
2026-06-16T08:24:18.5853599Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5853686Z               "line": 215
2026-06-16T08:24:18.5853767Z             }
2026-06-16T08:24:18.5853853Z           ]
2026-06-16T08:24:18.5853924Z         },
2026-06-16T08:24:18.5854020Z         "int": {
2026-06-16T08:24:18.5854101Z           "complete": true,
2026-06-16T08:24:18.5854187Z           "evidence": [
2026-06-16T08:24:18.5854262Z             {
2026-06-16T08:24:18.5854387Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5854482Z               "line": 697
2026-06-16T08:24:18.5854563Z             },
2026-06-16T08:24:18.5854640Z             {
2026-06-16T08:24:18.5854754Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5854844Z               "line": 1090
2026-06-16T08:24:18.5854931Z             },
2026-06-16T08:24:18.5855008Z             {
2026-06-16T08:24:18.5855116Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.5855196Z               "line": 726
2026-06-16T08:24:18.5855277Z             }
2026-06-16T08:24:18.5855358Z           ]
2026-06-16T08:24:18.5855452Z         },
2026-06-16T08:24:18.5855527Z         "unit": {
2026-06-16T08:24:18.5855623Z           "complete": true,
2026-06-16T08:24:18.5855719Z           "evidence": [
2026-06-16T08:24:18.5855795Z             {
2026-06-16T08:24:18.5855918Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.5856001Z               "line": 661
2026-06-16T08:24:18.5856096Z             },
2026-06-16T08:24:18.5856175Z             {
2026-06-16T08:24:18.5856301Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.5856396Z               "line": 899
2026-06-16T08:24:18.5856476Z             },
2026-06-16T08:24:18.5856562Z             {
2026-06-16T08:24:18.5856668Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-16T08:24:18.5856768Z               "line": 66
2026-06-16T08:24:18.5856849Z             },
2026-06-16T08:24:18.5856926Z             {
2026-06-16T08:24:18.5857043Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.5857124Z               "line": 297
2026-06-16T08:24:18.5857207Z             },
2026-06-16T08:24:18.5857288Z             {
2026-06-16T08:24:18.5857401Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.5857483Z               "line": 203
2026-06-16T08:24:18.5857570Z             }
2026-06-16T08:24:18.5857650Z           ]
2026-06-16T08:24:18.5857725Z         }
2026-06-16T08:24:18.5857805Z       }
2026-06-16T08:24:18.5857887Z     },
2026-06-16T08:24:18.5857967Z     {
2026-06-16T08:24:18.5858056Z       "id": "REQ-INST-7",
2026-06-16T08:24:18.5858199Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-16T08:24:18.5858296Z       "requiredStages": [
2026-06-16T08:24:18.5858380Z         "impl",
2026-06-16T08:24:18.5858461Z         "unit",
2026-06-16T08:24:18.5858544Z         "int"
2026-06-16T08:24:18.5858624Z       ],
2026-06-16T08:24:18.5858704Z       "stages": {
2026-06-16T08:24:18.5858805Z         "doc": {
2026-06-16T08:24:18.5858901Z           "complete": false,
2026-06-16T08:24:18.5859149Z           "evidence": []
2026-06-16T08:24:18.5859239Z         },
2026-06-16T08:24:18.5859315Z         "impl": {
2026-06-16T08:24:18.5859405Z           "complete": true,
2026-06-16T08:24:18.5859488Z           "evidence": [
2026-06-16T08:24:18.5859572Z             {
2026-06-16T08:24:18.5859783Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.5859864Z               "line": 436
2026-06-16T08:24:18.5859939Z             },
2026-06-16T08:24:18.5860016Z             {
2026-06-16T08:24:18.5860146Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5860225Z               "line": 27
2026-06-16T08:24:18.5860311Z             },
2026-06-16T08:24:18.5860394Z             {
2026-06-16T08:24:18.5860512Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5860606Z               "line": 207
2026-06-16T08:24:18.5860691Z             },
2026-06-16T08:24:18.5860778Z             {
2026-06-16T08:24:18.5860902Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5860987Z               "line": 344
2026-06-16T08:24:18.5861069Z             },
2026-06-16T08:24:18.5861150Z             {
2026-06-16T08:24:18.5861269Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-16T08:24:18.5861360Z               "line": 59
2026-06-16T08:24:18.5861441Z             },
2026-06-16T08:24:18.5861522Z             {
2026-06-16T08:24:18.5861640Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5861723Z               "line": 41
2026-06-16T08:24:18.5861808Z             },
2026-06-16T08:24:18.5861893Z             {
2026-06-16T08:24:18.5862013Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5862109Z               "line": 27
2026-06-16T08:24:18.5862184Z             },
2026-06-16T08:24:18.5862261Z             {
2026-06-16T08:24:18.5862386Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5862466Z               "line": 119
2026-06-16T08:24:18.5862551Z             },
2026-06-16T08:24:18.5862628Z             {
2026-06-16T08:24:18.5862752Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5862851Z               "line": 134
2026-06-16T08:24:18.5862932Z             },
2026-06-16T08:24:18.5863018Z             {
2026-06-16T08:24:18.5865529Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T08:24:18.5865653Z               "line": 139
2026-06-16T08:24:18.5865728Z             }
2026-06-16T08:24:18.5865813Z           ]
2026-06-16T08:24:18.5865895Z         },
2026-06-16T08:24:18.5865974Z         "int": {
2026-06-16T08:24:18.5866073Z           "complete": true,
2026-06-16T08:24:18.5866149Z           "evidence": [
2026-06-16T08:24:18.5866231Z             {
2026-06-16T08:24:18.5866365Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T08:24:18.5866460Z               "line": 102
2026-06-16T08:24:18.5866551Z             },
2026-06-16T08:24:18.5866632Z             {
2026-06-16T08:24:18.5866774Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5866861Z               "line": 641
2026-06-16T08:24:18.5866951Z             },
2026-06-16T08:24:18.5867022Z             {
2026-06-16T08:24:18.5867147Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5867242Z               "line": 940
2026-06-16T08:24:18.5867318Z             }
2026-06-16T08:24:18.5867399Z           ]
2026-06-16T08:24:18.5867481Z         },
2026-06-16T08:24:18.5867562Z         "unit": {
2026-06-16T08:24:18.5867647Z           "complete": true,
2026-06-16T08:24:18.5867738Z           "evidence": [
2026-06-16T08:24:18.5867815Z             {
2026-06-16T08:24:18.5867942Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5868033Z               "line": 1082
2026-06-16T08:24:18.5868111Z             },
2026-06-16T08:24:18.5868192Z             {
2026-06-16T08:24:18.5868309Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.5868527Z               "line": 1414
2026-06-16T08:24:18.5868611Z             },
2026-06-16T08:24:18.5868688Z             {
2026-06-16T08:24:18.5868817Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-16T08:24:18.5868894Z               "line": 84
2026-06-16T08:24:18.5869141Z             },
2026-06-16T08:24:18.5869218Z             {
2026-06-16T08:24:18.5869336Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5869423Z               "line": 780
2026-06-16T08:24:18.5869503Z             },
2026-06-16T08:24:18.5869588Z             {
2026-06-16T08:24:18.5869690Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5869776Z               "line": 791
2026-06-16T08:24:18.5869856Z             },
2026-06-16T08:24:18.5869937Z             {
2026-06-16T08:24:18.5870048Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5870128Z               "line": 806
2026-06-16T08:24:18.5870209Z             },
2026-06-16T08:24:18.5870295Z             {
2026-06-16T08:24:18.5870415Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5870509Z               "line": 166
2026-06-16T08:24:18.5870590Z             },
2026-06-16T08:24:18.5870668Z             {
2026-06-16T08:24:18.5870790Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5870876Z               "line": 181
2026-06-16T08:24:18.5870959Z             },
2026-06-16T08:24:18.5871045Z             {
2026-06-16T08:24:18.5871166Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.5871247Z               "line": 214
2026-06-16T08:24:18.5871324Z             }
2026-06-16T08:24:18.5871401Z           ]
2026-06-16T08:24:18.5871481Z         }
2026-06-16T08:24:18.5871562Z       }
2026-06-16T08:24:18.5871643Z     },
2026-06-16T08:24:18.5871724Z     {
2026-06-16T08:24:18.5871805Z       "id": "REQ-INST-8",
2026-06-16T08:24:18.5871964Z       "title": "Remote-control mode distinct from local operation",
2026-06-16T08:24:18.5872058Z       "requiredStages": [
2026-06-16T08:24:18.5872143Z         "impl",
2026-06-16T08:24:18.5872225Z         "unit",
2026-06-16T08:24:18.5872307Z         "int"
2026-06-16T08:24:18.5872387Z       ],
2026-06-16T08:24:18.5872482Z       "stages": {
2026-06-16T08:24:18.5872564Z         "doc": {
2026-06-16T08:24:18.5872659Z           "complete": false,
2026-06-16T08:24:18.5872745Z           "evidence": []
2026-06-16T08:24:18.5872826Z         },
2026-06-16T08:24:18.5872913Z         "impl": {
2026-06-16T08:24:18.5873007Z           "complete": true,
2026-06-16T08:24:18.5873092Z           "evidence": [
2026-06-16T08:24:18.5873169Z             {
2026-06-16T08:24:18.5873289Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.5873369Z               "line": 104
2026-06-16T08:24:18.5873449Z             },
2026-06-16T08:24:18.5873530Z             {
2026-06-16T08:24:18.5873648Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.5873724Z               "line": 299
2026-06-16T08:24:18.5873818Z             },
2026-06-16T08:24:18.5873905Z             {
2026-06-16T08:24:18.5874019Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.5874100Z               "line": 339
2026-06-16T08:24:18.5874181Z             },
2026-06-16T08:24:18.5874263Z             {
2026-06-16T08:24:18.5874381Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.5874467Z               "line": 62
2026-06-16T08:24:18.5874544Z             }
2026-06-16T08:24:18.5874625Z           ]
2026-06-16T08:24:18.5874705Z         },
2026-06-16T08:24:18.5874792Z         "int": {
2026-06-16T08:24:18.5874883Z           "complete": true,
2026-06-16T08:24:18.5874964Z           "evidence": [
2026-06-16T08:24:18.5875044Z             {
2026-06-16T08:24:18.5875165Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.5875249Z               "line": 415
2026-06-16T08:24:18.5875316Z             },
2026-06-16T08:24:18.5875397Z             {
2026-06-16T08:24:18.5875607Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.5875693Z               "line": 1004
2026-06-16T08:24:18.5875775Z             }
2026-06-16T08:24:18.5875851Z           ]
2026-06-16T08:24:18.5875931Z         },
2026-06-16T08:24:18.5876094Z         "unit": {
2026-06-16T08:24:18.5876203Z           "complete": true,
2026-06-16T08:24:18.5876293Z           "evidence": [
2026-06-16T08:24:18.5876373Z             {
2026-06-16T08:24:18.5876492Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5876581Z               "line": 358
2026-06-16T08:24:18.5876661Z             },
2026-06-16T08:24:18.5876734Z             {
2026-06-16T08:24:18.5876858Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5876948Z               "line": 513
2026-06-16T08:24:18.5877029Z             },
2026-06-16T08:24:18.5877106Z             {
2026-06-16T08:24:18.5877220Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.5877315Z               "line": 116
2026-06-16T08:24:18.5877388Z             },
2026-06-16T08:24:18.5877468Z             {
2026-06-16T08:24:18.5877582Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.5877659Z               "line": 160
2026-06-16T08:24:18.5877745Z             }
2026-06-16T08:24:18.5877826Z           ]
2026-06-16T08:24:18.5877907Z         }
2026-06-16T08:24:18.5877988Z       }
2026-06-16T08:24:18.5878065Z     },
2026-06-16T08:24:18.5878145Z     {
2026-06-16T08:24:18.5878231Z       "id": "REQ-INST-9",
2026-06-16T08:24:18.5878413Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-16T08:24:18.5878502Z       "requiredStages": [
2026-06-16T08:24:18.5878583Z         "impl",
2026-06-16T08:24:18.5878666Z         "unit"
2026-06-16T08:24:18.5878747Z       ],
2026-06-16T08:24:18.5878826Z       "stages": {
2026-06-16T08:24:18.5878907Z         "doc": {
2026-06-16T08:24:18.5879087Z           "complete": false,
2026-06-16T08:24:18.5879176Z           "evidence": []
2026-06-16T08:24:18.5879252Z         },
2026-06-16T08:24:18.5879334Z         "impl": {
2026-06-16T08:24:18.5879421Z           "complete": true,
2026-06-16T08:24:18.5879510Z           "evidence": [
2026-06-16T08:24:18.5879586Z             {
2026-06-16T08:24:18.5879716Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5879792Z               "line": 417
2026-06-16T08:24:18.5879872Z             }
2026-06-16T08:24:18.5879954Z           ]
2026-06-16T08:24:18.5880031Z         },
2026-06-16T08:24:18.5880121Z         "int": {
2026-06-16T08:24:18.5880211Z           "complete": false,
2026-06-16T08:24:18.5880302Z           "evidence": []
2026-06-16T08:24:18.5880378Z         },
2026-06-16T08:24:18.5880468Z         "unit": {
2026-06-16T08:24:18.5880549Z           "complete": true,
2026-06-16T08:24:18.5880632Z           "evidence": [
2026-06-16T08:24:18.5880712Z             {
2026-06-16T08:24:18.5880831Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5880918Z               "line": 1321
2026-06-16T08:24:18.5881003Z             },
2026-06-16T08:24:18.5881084Z             {
2026-06-16T08:24:18.5881199Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5881290Z               "line": 1330
2026-06-16T08:24:18.5881369Z             },
2026-06-16T08:24:18.5881451Z             {
2026-06-16T08:24:18.5881571Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5881652Z               "line": 1346
2026-06-16T08:24:18.5881726Z             },
2026-06-16T08:24:18.5881812Z             {
2026-06-16T08:24:18.5881932Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5882013Z               "line": 1358
2026-06-16T08:24:18.5882093Z             },
2026-06-16T08:24:18.5882180Z             {
2026-06-16T08:24:18.5882289Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.5882370Z               "line": 1378
2026-06-16T08:24:18.5882451Z             }
2026-06-16T08:24:18.5882628Z           ]
2026-06-16T08:24:18.5882708Z         }
2026-06-16T08:24:18.5882785Z       }
2026-06-16T08:24:18.5882862Z     },
2026-06-16T08:24:18.5882942Z     {
2026-06-16T08:24:18.5883027Z       "id": "REQ-INSTALL-1",
2026-06-16T08:24:18.5883220Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-16T08:24:18.5883405Z       "requiredStages": [
2026-06-16T08:24:18.5883482Z         "doc",
2026-06-16T08:24:18.5883553Z         "impl",
2026-06-16T08:24:18.5883638Z         "int"
2026-06-16T08:24:18.5883720Z       ],
2026-06-16T08:24:18.5883797Z       "stages": {
2026-06-16T08:24:18.5883877Z         "doc": {
2026-06-16T08:24:18.5883967Z           "complete": true,
2026-06-16T08:24:18.5884052Z           "evidence": [
2026-06-16T08:24:18.5884133Z             {
2026-06-16T08:24:18.5884236Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5884317Z               "line": 695
2026-06-16T08:24:18.5884403Z             }
2026-06-16T08:24:18.5884489Z           ]
2026-06-16T08:24:18.5884565Z         },
2026-06-16T08:24:18.5884646Z         "impl": {
2026-06-16T08:24:18.5884727Z           "complete": true,
2026-06-16T08:24:18.5884813Z           "evidence": [
2026-06-16T08:24:18.5884894Z             {
2026-06-16T08:24:18.5885012Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5885091Z               "line": 57
2026-06-16T08:24:18.5885176Z             },
2026-06-16T08:24:18.5885256Z             {
2026-06-16T08:24:18.5885357Z               "path": "installer/install.sh",
2026-06-16T08:24:18.5885448Z               "line": 52
2026-06-16T08:24:18.5885524Z             }
2026-06-16T08:24:18.5885604Z           ]
2026-06-16T08:24:18.5885681Z         },
2026-06-16T08:24:18.5885767Z         "int": {
2026-06-16T08:24:18.5885848Z           "complete": true,
2026-06-16T08:24:18.5885938Z           "evidence": [
2026-06-16T08:24:18.5886020Z             {
2026-06-16T08:24:18.5886138Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T08:24:18.5886229Z               "line": 21
2026-06-16T08:24:18.5886301Z             }
2026-06-16T08:24:18.5886379Z           ]
2026-06-16T08:24:18.5886453Z         },
2026-06-16T08:24:18.5886529Z         "unit": {
2026-06-16T08:24:18.5886621Z           "complete": false,
2026-06-16T08:24:18.5886707Z           "evidence": []
2026-06-16T08:24:18.5886787Z         }
2026-06-16T08:24:18.5886867Z       }
2026-06-16T08:24:18.5886948Z     },
2026-06-16T08:24:18.5887029Z     {
2026-06-16T08:24:18.5887122Z       "id": "REQ-INSTALL-2",
2026-06-16T08:24:18.5887255Z       "title": "Marketplace-repackaging-friendly install",
2026-06-16T08:24:18.5887347Z       "requiredStages": [
2026-06-16T08:24:18.5887423Z         "doc"
2026-06-16T08:24:18.5887499Z       ],
2026-06-16T08:24:18.5887580Z       "stages": {
2026-06-16T08:24:18.5887662Z         "doc": {
2026-06-16T08:24:18.5887752Z           "complete": true,
2026-06-16T08:24:18.5887842Z           "evidence": [
2026-06-16T08:24:18.5887919Z             {
2026-06-16T08:24:18.5888024Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5888100Z               "line": 696
2026-06-16T08:24:18.5888180Z             }
2026-06-16T08:24:18.5888257Z           ]
2026-06-16T08:24:18.5888339Z         },
2026-06-16T08:24:18.5888414Z         "impl": {
2026-06-16T08:24:18.5888509Z           "complete": false,
2026-06-16T08:24:18.5888602Z           "evidence": []
2026-06-16T08:24:18.5888682Z         },
2026-06-16T08:24:18.5888762Z         "int": {
2026-06-16T08:24:18.5888848Z           "complete": false,
2026-06-16T08:24:18.5888935Z           "evidence": []
2026-06-16T08:24:18.5889091Z         },
2026-06-16T08:24:18.5889168Z         "unit": {
2026-06-16T08:24:18.5889260Z           "complete": false,
2026-06-16T08:24:18.5889335Z           "evidence": []
2026-06-16T08:24:18.5889415Z         }
2026-06-16T08:24:18.5889491Z       }
2026-06-16T08:24:18.5889563Z     },
2026-06-16T08:24:18.5889643Z     {
2026-06-16T08:24:18.5889732Z       "id": "REQ-INSTALL-3",
2026-06-16T08:24:18.5889875Z       "title": "Idempotent + interactive-optional first run",
2026-06-16T08:24:18.5890065Z       "requiredStages": [
2026-06-16T08:24:18.5890147Z         "impl",
2026-06-16T08:24:18.5890233Z         "int"
2026-06-16T08:24:18.5890304Z       ],
2026-06-16T08:24:18.5890385Z       "stages": {
2026-06-16T08:24:18.5890557Z         "doc": {
2026-06-16T08:24:18.5890652Z           "complete": false,
2026-06-16T08:24:18.5890732Z           "evidence": []
2026-06-16T08:24:18.5890815Z         },
2026-06-16T08:24:18.5890905Z         "impl": {
2026-06-16T08:24:18.5890986Z           "complete": true,
2026-06-16T08:24:18.5891071Z           "evidence": [
2026-06-16T08:24:18.5891149Z             {
2026-06-16T08:24:18.5891258Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5891344Z               "line": 100
2026-06-16T08:24:18.5891425Z             },
2026-06-16T08:24:18.5891506Z             {
2026-06-16T08:24:18.5891610Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5891691Z               "line": 111
2026-06-16T08:24:18.5891769Z             },
2026-06-16T08:24:18.5891845Z             {
2026-06-16T08:24:18.5891948Z               "path": "installer/install.sh",
2026-06-16T08:24:18.5892030Z               "line": 79
2026-06-16T08:24:18.5892117Z             }
2026-06-16T08:24:18.5892193Z           ]
2026-06-16T08:24:18.5892273Z         },
2026-06-16T08:24:18.5892348Z         "int": {
2026-06-16T08:24:18.5892444Z           "complete": true,
2026-06-16T08:24:18.5892536Z           "evidence": [
2026-06-16T08:24:18.5892615Z             {
2026-06-16T08:24:18.5892735Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T08:24:18.5892817Z               "line": 167
2026-06-16T08:24:18.5892898Z             }
2026-06-16T08:24:18.5892977Z           ]
2026-06-16T08:24:18.5893055Z         },
2026-06-16T08:24:18.5893150Z         "unit": {
2026-06-16T08:24:18.5893245Z           "complete": false,
2026-06-16T08:24:18.5893336Z           "evidence": []
2026-06-16T08:24:18.5893413Z         }
2026-06-16T08:24:18.5893526Z       }
2026-06-16T08:24:18.5893626Z     },
2026-06-16T08:24:18.5893704Z     {
2026-06-16T08:24:18.5893794Z       "id": "REQ-INSTALL-4",
2026-06-16T08:24:18.5894419Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-16T08:24:18.5894513Z       "requiredStages": [
2026-06-16T08:24:18.5894593Z         "impl",
2026-06-16T08:24:18.5894684Z         "unit"
2026-06-16T08:24:18.5894764Z       ],
2026-06-16T08:24:18.5894839Z       "stages": {
2026-06-16T08:24:18.5894924Z         "doc": {
2026-06-16T08:24:18.5895016Z           "complete": false,
2026-06-16T08:24:18.5895098Z           "evidence": []
2026-06-16T08:24:18.5895177Z         },
2026-06-16T08:24:18.5895258Z         "impl": {
2026-06-16T08:24:18.5895345Z           "complete": true,
2026-06-16T08:24:18.5895436Z           "evidence": [
2026-06-16T08:24:18.5895516Z             {
2026-06-16T08:24:18.5895651Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.5895740Z               "line": 154
2026-06-16T08:24:18.5895825Z             },
2026-06-16T08:24:18.5895917Z             {
2026-06-16T08:24:18.5896041Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5896136Z               "line": 29
2026-06-16T08:24:18.5896212Z             },
2026-06-16T08:24:18.5896294Z             {
2026-06-16T08:24:18.5896408Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5896498Z               "line": 275
2026-06-16T08:24:18.5896580Z             },
2026-06-16T08:24:18.5896656Z             {
2026-06-16T08:24:18.5896780Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5896876Z               "line": 339
2026-06-16T08:24:18.5896953Z             },
2026-06-16T08:24:18.5897036Z             {
2026-06-16T08:24:18.5897137Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5897323Z               "line": 369
2026-06-16T08:24:18.5897403Z             },
2026-06-16T08:24:18.5897498Z             {
2026-06-16T08:24:18.5897613Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5897701Z               "line": 401
2026-06-16T08:24:18.5897854Z             },
2026-06-16T08:24:18.5897931Z             {
2026-06-16T08:24:18.5898040Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5898125Z               "line": 5014
2026-06-16T08:24:18.5898203Z             }
2026-06-16T08:24:18.5898288Z           ]
2026-06-16T08:24:18.5898368Z         },
2026-06-16T08:24:18.5898444Z         "int": {
2026-06-16T08:24:18.5898542Z           "complete": false,
2026-06-16T08:24:18.5898627Z           "evidence": []
2026-06-16T08:24:18.5898712Z         },
2026-06-16T08:24:18.5898798Z         "unit": {
2026-06-16T08:24:18.5898889Z           "complete": true,
2026-06-16T08:24:18.5899046Z           "evidence": [
2026-06-16T08:24:18.5899118Z             {
2026-06-16T08:24:18.5899251Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.5899346Z               "line": 335
2026-06-16T08:24:18.5899428Z             },
2026-06-16T08:24:18.5899510Z             {
2026-06-16T08:24:18.5899627Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5899718Z               "line": 763
2026-06-16T08:24:18.5899801Z             },
2026-06-16T08:24:18.5899881Z             {
2026-06-16T08:24:18.5899994Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5900079Z               "line": 804
2026-06-16T08:24:18.5900165Z             },
2026-06-16T08:24:18.5900245Z             {
2026-06-16T08:24:18.5900363Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5900459Z               "line": 824
2026-06-16T08:24:18.5900536Z             },
2026-06-16T08:24:18.5900616Z             {
2026-06-16T08:24:18.5900716Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5900812Z               "line": 7267
2026-06-16T08:24:18.5900893Z             }
2026-06-16T08:24:18.5900969Z           ]
2026-06-16T08:24:18.5901055Z         }
2026-06-16T08:24:18.5901136Z       }
2026-06-16T08:24:18.5901222Z     },
2026-06-16T08:24:18.5901302Z     {
2026-06-16T08:24:18.5901404Z       "id": "REQ-INSTALL-5",
2026-06-16T08:24:18.5901899Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-16T08:24:18.5901990Z       "requiredStages": [
2026-06-16T08:24:18.5902081Z         "impl",
2026-06-16T08:24:18.5902161Z         "int"
2026-06-16T08:24:18.5902237Z       ],
2026-06-16T08:24:18.5902324Z       "stages": {
2026-06-16T08:24:18.5902405Z         "doc": {
2026-06-16T08:24:18.5902504Z           "complete": false,
2026-06-16T08:24:18.5902590Z           "evidence": []
2026-06-16T08:24:18.5902673Z         },
2026-06-16T08:24:18.5902748Z         "impl": {
2026-06-16T08:24:18.5902851Z           "complete": true,
2026-06-16T08:24:18.5902942Z           "evidence": [
2026-06-16T08:24:18.5903023Z             {
2026-06-16T08:24:18.5903138Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5903223Z               "line": 5
2026-06-16T08:24:18.5903315Z             },
2026-06-16T08:24:18.5903396Z             {
2026-06-16T08:24:18.5903505Z               "path": "installer/install.sh",
2026-06-16T08:24:18.5903600Z               "line": 6
2026-06-16T08:24:18.5903677Z             }
2026-06-16T08:24:18.5903763Z           ]
2026-06-16T08:24:18.5903838Z         },
2026-06-16T08:24:18.5903915Z         "int": {
2026-06-16T08:24:18.5903997Z           "complete": true,
2026-06-16T08:24:18.5904086Z           "evidence": [
2026-06-16T08:24:18.5904167Z             {
2026-06-16T08:24:18.5904288Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T08:24:18.5904373Z               "line": 22
2026-06-16T08:24:18.5904459Z             }
2026-06-16T08:24:18.5904650Z           ]
2026-06-16T08:24:18.5904725Z         },
2026-06-16T08:24:18.5904815Z         "unit": {
2026-06-16T08:24:18.5904908Z           "complete": false,
2026-06-16T08:24:18.5904998Z           "evidence": []
2026-06-16T08:24:18.5905082Z         }
2026-06-16T08:24:18.5905249Z       }
2026-06-16T08:24:18.5905329Z     },
2026-06-16T08:24:18.5905408Z     {
2026-06-16T08:24:18.5905508Z       "id": "REQ-INSTALL-6",
2026-06-16T08:24:18.5906897Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-16T08:24:18.5906997Z       "requiredStages": [
2026-06-16T08:24:18.5907092Z         "impl",
2026-06-16T08:24:18.5907169Z         "unit"
2026-06-16T08:24:18.5907268Z       ],
2026-06-16T08:24:18.5907349Z       "stages": {
2026-06-16T08:24:18.5907431Z         "doc": {
2026-06-16T08:24:18.5907527Z           "complete": false,
2026-06-16T08:24:18.5907606Z           "evidence": []
2026-06-16T08:24:18.5907693Z         },
2026-06-16T08:24:18.5907784Z         "impl": {
2026-06-16T08:24:18.5907884Z           "complete": true,
2026-06-16T08:24:18.5907963Z           "evidence": [
2026-06-16T08:24:18.5908053Z             {
2026-06-16T08:24:18.5908178Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5908261Z               "line": 61
2026-06-16T08:24:18.5908352Z             },
2026-06-16T08:24:18.5908433Z             {
2026-06-16T08:24:18.5908553Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.5908647Z               "line": 596
2026-06-16T08:24:18.5908729Z             },
2026-06-16T08:24:18.5908810Z             {
2026-06-16T08:24:18.5908933Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5909107Z               "line": 191
2026-06-16T08:24:18.5909187Z             },
2026-06-16T08:24:18.5909281Z             {
2026-06-16T08:24:18.5909426Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5909515Z               "line": 276
2026-06-16T08:24:18.5909596Z             },
2026-06-16T08:24:18.5909678Z             {
2026-06-16T08:24:18.5909792Z               "path": "crates/spt/src/main.rs",
2026-06-16T08:24:18.5909878Z               "line": 42
2026-06-16T08:24:18.5909968Z             },
2026-06-16T08:24:18.5910051Z             {
2026-06-16T08:24:18.5910154Z               "path": "installer/install.sh",
2026-06-16T08:24:18.5910245Z               "line": 104
2026-06-16T08:24:18.5910323Z             }
2026-06-16T08:24:18.5910404Z           ]
2026-06-16T08:24:18.5910488Z         },
2026-06-16T08:24:18.5910568Z         "int": {
2026-06-16T08:24:18.5910668Z           "complete": false,
2026-06-16T08:24:18.5910744Z           "evidence": []
2026-06-16T08:24:18.5910833Z         },
2026-06-16T08:24:18.5910913Z         "unit": {
2026-06-16T08:24:18.5911010Z           "complete": true,
2026-06-16T08:24:18.5911087Z           "evidence": [
2026-06-16T08:24:18.5911172Z             {
2026-06-16T08:24:18.5911291Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T08:24:18.5911372Z               "line": 866
2026-06-16T08:24:18.5911463Z             }
2026-06-16T08:24:18.5911543Z           ]
2026-06-16T08:24:18.5911630Z         }
2026-06-16T08:24:18.5911711Z       }
2026-06-16T08:24:18.5911792Z     },
2026-06-16T08:24:18.5911877Z     {
2026-06-16T08:24:18.5911974Z       "id": "REQ-INSTALL-7",
2026-06-16T08:24:18.5913098Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-16T08:24:18.5913290Z       "requiredStages": [
2026-06-16T08:24:18.5913374Z         "impl"
2026-06-16T08:24:18.5913463Z       ],
2026-06-16T08:24:18.5913540Z       "stages": {
2026-06-16T08:24:18.5913622Z         "doc": {
2026-06-16T08:24:18.5913812Z           "complete": false,
2026-06-16T08:24:18.5913908Z           "evidence": []
2026-06-16T08:24:18.5913984Z         },
2026-06-16T08:24:18.5914074Z         "impl": {
2026-06-16T08:24:18.5914170Z           "complete": true,
2026-06-16T08:24:18.5914256Z           "evidence": [
2026-06-16T08:24:18.5914347Z             {
2026-06-16T08:24:18.5914451Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5914547Z               "line": 3606
2026-06-16T08:24:18.5914628Z             },
2026-06-16T08:24:18.5914713Z             {
2026-06-16T08:24:18.5914809Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5914900Z               "line": 157
2026-06-16T08:24:18.5914980Z             }
2026-06-16T08:24:18.5915066Z           ]
2026-06-16T08:24:18.5915149Z         },
2026-06-16T08:24:18.5915224Z         "int": {
2026-06-16T08:24:18.5915313Z           "complete": false,
2026-06-16T08:24:18.5915405Z           "evidence": []
2026-06-16T08:24:18.5915492Z         },
2026-06-16T08:24:18.5915572Z         "unit": {
2026-06-16T08:24:18.5915661Z           "complete": false,
2026-06-16T08:24:18.5915746Z           "evidence": []
2026-06-16T08:24:18.5915828Z         }
2026-06-16T08:24:18.5915903Z       }
2026-06-16T08:24:18.5915988Z     },
2026-06-16T08:24:18.5916068Z     {
2026-06-16T08:24:18.5916165Z       "id": "REQ-INSTALL-8",
2026-06-16T08:24:18.5917219Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-16T08:24:18.5917313Z       "requiredStages": [
2026-06-16T08:24:18.5917391Z         "impl"
2026-06-16T08:24:18.5917476Z       ],
2026-06-16T08:24:18.5917594Z       "stages": {
2026-06-16T08:24:18.5917686Z         "doc": {
2026-06-16T08:24:18.5917791Z           "complete": false,
2026-06-16T08:24:18.5917876Z           "evidence": []
2026-06-16T08:24:18.5917972Z         },
2026-06-16T08:24:18.5918068Z         "impl": {
2026-06-16T08:24:18.5918148Z           "complete": true,
2026-06-16T08:24:18.5918238Z           "evidence": [
2026-06-16T08:24:18.5918321Z             {
2026-06-16T08:24:18.5918426Z               "path": "installer/install.ps1",
2026-06-16T08:24:18.5918509Z               "line": 184
2026-06-16T08:24:18.5918595Z             },
2026-06-16T08:24:18.5918685Z             {
2026-06-16T08:24:18.5918785Z               "path": "installer/install.sh",
2026-06-16T08:24:18.5918878Z               "line": 121
2026-06-16T08:24:18.5919037Z             }
2026-06-16T08:24:18.5919123Z           ]
2026-06-16T08:24:18.5919203Z         },
2026-06-16T08:24:18.5919284Z         "int": {
2026-06-16T08:24:18.5919380Z           "complete": false,
2026-06-16T08:24:18.5919470Z           "evidence": []
2026-06-16T08:24:18.5919551Z         },
2026-06-16T08:24:18.5919633Z         "unit": {
2026-06-16T08:24:18.5919732Z           "complete": false,
2026-06-16T08:24:18.5919818Z           "evidence": []
2026-06-16T08:24:18.5919899Z         }
2026-06-16T08:24:18.5919981Z       }
2026-06-16T08:24:18.5920056Z     },
2026-06-16T08:24:18.5920137Z     {
2026-06-16T08:24:18.5920238Z       "id": "REQ-INSTALL-9",
2026-06-16T08:24:18.5921469Z       "title": "Adapter add from a GitHub release archive: `spt adapter add --release <user/repo> [--tag <tag>] [--asset <name>]` fetches a `.spt` tar asset over HTTPS+GitHub trust, extracts it to the durable adapters/_github home, and registers the root — ships built binaries source-free and versioned (the distribution path for an adapter whose dev repo is a monorepo subdir, where --github root-only clone does not fit)",
2026-06-16T08:24:18.5921657Z       "requiredStages": [
2026-06-16T08:24:18.5921741Z         "doc",
2026-06-16T08:24:18.5921827Z         "impl",
2026-06-16T08:24:18.5921909Z         "unit"
2026-06-16T08:24:18.5922094Z       ],
2026-06-16T08:24:18.5922175Z       "stages": {
2026-06-16T08:24:18.5922256Z         "doc": {
2026-06-16T08:24:18.5922352Z           "complete": true,
2026-06-16T08:24:18.5922428Z           "evidence": [
2026-06-16T08:24:18.5922510Z             {
2026-06-16T08:24:18.5922604Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5922690Z               "line": 712
2026-06-16T08:24:18.5922766Z             }
2026-06-16T08:24:18.5922854Z           ]
2026-06-16T08:24:18.5922929Z         },
2026-06-16T08:24:18.5923010Z         "impl": {
2026-06-16T08:24:18.5923105Z           "complete": true,
2026-06-16T08:24:18.5923183Z           "evidence": [
2026-06-16T08:24:18.5923267Z             {
2026-06-16T08:24:18.5923372Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5923473Z               "line": 2317
2026-06-16T08:24:18.5923553Z             },
2026-06-16T08:24:18.5923629Z             {
2026-06-16T08:24:18.5923735Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5923826Z               "line": 2341
2026-06-16T08:24:18.5923915Z             }
2026-06-16T08:24:18.5923986Z           ]
2026-06-16T08:24:18.5924077Z         },
2026-06-16T08:24:18.5924182Z         "int": {
2026-06-16T08:24:18.5924277Z           "complete": false,
2026-06-16T08:24:18.5924372Z           "evidence": []
2026-06-16T08:24:18.5924454Z         },
2026-06-16T08:24:18.5924549Z         "unit": {
2026-06-16T08:24:18.5924639Z           "complete": true,
2026-06-16T08:24:18.5924725Z           "evidence": [
2026-06-16T08:24:18.5924816Z             {
2026-06-16T08:24:18.5924921Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5925016Z               "line": 6561
2026-06-16T08:24:18.5925098Z             },
2026-06-16T08:24:18.5925183Z             {
2026-06-16T08:24:18.5925288Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5925374Z               "line": 7297
2026-06-16T08:24:18.5925460Z             }
2026-06-16T08:24:18.5925540Z           ]
2026-06-16T08:24:18.5925617Z         }
2026-06-16T08:24:18.5925699Z       }
2026-06-16T08:24:18.5925784Z     },
2026-06-16T08:24:18.5925864Z     {
2026-06-16T08:24:18.5925960Z       "id": "REQ-KICK-1",
2026-06-16T08:24:18.5928595Z       "title": "Explicit, loud controller displacement: `spt rc kick <target>` / `--take` (Take intent) kicks the incumbent controller and becomes controller; the displaced controller receives a LOUD `Displaced{by}` notice and is FULLY DETACHED (not demoted to a viewer). A default attach to a controlled endpoint is NEVER a silent displace (it is the Control busy-refusal). An old (N-1) rc omits intent → Control, so it can drive a free endpoint but CANNOT `--take` — it can never silently steal, and gets a clean busy-refusal instead. Taking control rides the same access_check(endpoint, origin, Unsolicited) as a normal control attach (if you may drive, you may take — no elevated kick policy). The picker surfaces 'Kick <node> and attach' (Take) only on a controlled (blue ■) endpoint, via the existing attach dispatch (single-bringup-path: intent is a parameter).",
2026-06-16T08:24:18.5928703Z       "requiredStages": [
2026-06-16T08:24:18.5928789Z         "doc",
2026-06-16T08:24:18.5928876Z         "impl",
2026-06-16T08:24:18.5929037Z         "unit",
2026-06-16T08:24:18.5929131Z         "int"
2026-06-16T08:24:18.5929208Z       ],
2026-06-16T08:24:18.5929298Z       "stages": {
2026-06-16T08:24:18.5929377Z         "doc": {
2026-06-16T08:24:18.5929477Z           "complete": true,
2026-06-16T08:24:18.5929554Z           "evidence": [
2026-06-16T08:24:18.5929635Z             {
2026-06-16T08:24:18.5929739Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5929825Z               "line": 323
2026-06-16T08:24:18.5929907Z             }
2026-06-16T08:24:18.5930087Z           ]
2026-06-16T08:24:18.5930169Z         },
2026-06-16T08:24:18.5930260Z         "impl": {
2026-06-16T08:24:18.5930341Z           "complete": true,
2026-06-16T08:24:18.5930435Z           "evidence": [
2026-06-16T08:24:18.5930512Z             {
2026-06-16T08:24:18.5930731Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.5930813Z               "line": 41
2026-06-16T08:24:18.5930889Z             },
2026-06-16T08:24:18.5930974Z             {
2026-06-16T08:24:18.5931075Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.5931156Z               "line": 181
2026-06-16T08:24:18.5931242Z             }
2026-06-16T08:24:18.5931317Z           ]
2026-06-16T08:24:18.5931394Z         },
2026-06-16T08:24:18.5931486Z         "int": {
2026-06-16T08:24:18.5931585Z           "complete": true,
2026-06-16T08:24:18.5931665Z           "evidence": [
2026-06-16T08:24:18.5931750Z             {
2026-06-16T08:24:18.5931870Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.5931972Z               "line": 789
2026-06-16T08:24:18.5932053Z             }
2026-06-16T08:24:18.5932139Z           ]
2026-06-16T08:24:18.5932217Z         },
2026-06-16T08:24:18.5932296Z         "unit": {
2026-06-16T08:24:18.5932392Z           "complete": true,
2026-06-16T08:24:18.5932483Z           "evidence": [
2026-06-16T08:24:18.5932574Z             {
2026-06-16T08:24:18.5932687Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.5932784Z               "line": 205
2026-06-16T08:24:18.5932859Z             }
2026-06-16T08:24:18.5932940Z           ]
2026-06-16T08:24:18.5933016Z         }
2026-06-16T08:24:18.5933099Z       }
2026-06-16T08:24:18.5935596Z     },
2026-06-16T08:24:18.5935700Z     {
2026-06-16T08:24:18.5935810Z       "id": "REQ-MANIFEST-1",
2026-06-16T08:24:18.5936015Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-16T08:24:18.5936115Z       "requiredStages": [
2026-06-16T08:24:18.5936196Z         "doc",
2026-06-16T08:24:18.5936288Z         "impl",
2026-06-16T08:24:18.5936377Z         "unit"
2026-06-16T08:24:18.5936458Z       ],
2026-06-16T08:24:18.5936544Z       "stages": {
2026-06-16T08:24:18.5936631Z         "doc": {
2026-06-16T08:24:18.5936730Z           "complete": true,
2026-06-16T08:24:18.5936824Z           "evidence": [
2026-06-16T08:24:18.5936910Z             {
2026-06-16T08:24:18.5937009Z               "path": "docs/MANIFEST.md",
2026-06-16T08:24:18.5937085Z               "line": 19
2026-06-16T08:24:18.5937165Z             }
2026-06-16T08:24:18.5937247Z           ]
2026-06-16T08:24:18.5937328Z         },
2026-06-16T08:24:18.5937418Z         "impl": {
2026-06-16T08:24:18.5937504Z           "complete": true,
2026-06-16T08:24:18.5937610Z           "evidence": [
2026-06-16T08:24:18.5937685Z             {
2026-06-16T08:24:18.5937818Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5937905Z               "line": 18
2026-06-16T08:24:18.5937986Z             }
2026-06-16T08:24:18.5938071Z           ]
2026-06-16T08:24:18.5938148Z         },
2026-06-16T08:24:18.5938229Z         "int": {
2026-06-16T08:24:18.5938324Z           "complete": false,
2026-06-16T08:24:18.5938419Z           "evidence": []
2026-06-16T08:24:18.5938496Z         },
2026-06-16T08:24:18.5938582Z         "unit": {
2026-06-16T08:24:18.5938677Z           "complete": true,
2026-06-16T08:24:18.5938757Z           "evidence": [
2026-06-16T08:24:18.5938836Z             {
2026-06-16T08:24:18.5939044Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5939146Z               "line": 930
2026-06-16T08:24:18.5939226Z             },
2026-06-16T08:24:18.5939301Z             {
2026-06-16T08:24:18.5939422Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5939512Z               "line": 1044
2026-06-16T08:24:18.5939592Z             },
2026-06-16T08:24:18.5939672Z             {
2026-06-16T08:24:18.5939792Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5940003Z               "line": 1056
2026-06-16T08:24:18.5940090Z             },
2026-06-16T08:24:18.5940172Z             {
2026-06-16T08:24:18.5940295Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5940390Z               "line": 1067
2026-06-16T08:24:18.5940577Z             },
2026-06-16T08:24:18.5940661Z             {
2026-06-16T08:24:18.5940782Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5940862Z               "line": 1084
2026-06-16T08:24:18.5940948Z             },
2026-06-16T08:24:18.5941029Z             {
2026-06-16T08:24:18.5941154Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5941239Z               "line": 1098
2026-06-16T08:24:18.5941320Z             },
2026-06-16T08:24:18.5941402Z             {
2026-06-16T08:24:18.5941520Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5941606Z               "line": 1214
2026-06-16T08:24:18.5941688Z             },
2026-06-16T08:24:18.5941769Z             {
2026-06-16T08:24:18.5941887Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5941964Z               "line": 1229
2026-06-16T08:24:18.5942051Z             },
2026-06-16T08:24:18.5942131Z             {
2026-06-16T08:24:18.5942258Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5942344Z               "line": 1340
2026-06-16T08:24:18.5942425Z             },
2026-06-16T08:24:18.5942513Z             {
2026-06-16T08:24:18.5942627Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5942719Z               "line": 1351
2026-06-16T08:24:18.5942801Z             }
2026-06-16T08:24:18.5942885Z           ]
2026-06-16T08:24:18.5942966Z         }
2026-06-16T08:24:18.5943067Z       }
2026-06-16T08:24:18.5943148Z     },
2026-06-16T08:24:18.5943228Z     {
2026-06-16T08:24:18.5943339Z       "id": "REQ-MANIFEST-2",
2026-06-16T08:24:18.5943988Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-16T08:24:18.5944092Z       "requiredStages": [
2026-06-16T08:24:18.5944172Z         "doc",
2026-06-16T08:24:18.5944255Z         "impl",
2026-06-16T08:24:18.5944350Z         "unit"
2026-06-16T08:24:18.5944425Z       ],
2026-06-16T08:24:18.5944516Z       "stages": {
2026-06-16T08:24:18.5944598Z         "doc": {
2026-06-16T08:24:18.5944697Z           "complete": true,
2026-06-16T08:24:18.5944774Z           "evidence": [
2026-06-16T08:24:18.5944855Z             {
2026-06-16T08:24:18.5944956Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5945031Z               "line": 75
2026-06-16T08:24:18.5945116Z             }
2026-06-16T08:24:18.5945197Z           ]
2026-06-16T08:24:18.5945283Z         },
2026-06-16T08:24:18.5945360Z         "impl": {
2026-06-16T08:24:18.5945454Z           "complete": true,
2026-06-16T08:24:18.5945536Z           "evidence": [
2026-06-16T08:24:18.5945617Z             {
2026-06-16T08:24:18.5945754Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5945841Z               "line": 62
2026-06-16T08:24:18.5945927Z             },
2026-06-16T08:24:18.5946008Z             {
2026-06-16T08:24:18.5946131Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5946228Z               "line": 15
2026-06-16T08:24:18.5946308Z             },
2026-06-16T08:24:18.5946388Z             {
2026-06-16T08:24:18.5946509Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5946594Z               "line": 65
2026-06-16T08:24:18.5946675Z             },
2026-06-16T08:24:18.5946761Z             {
2026-06-16T08:24:18.5946877Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5946965Z               "line": 83
2026-06-16T08:24:18.5947047Z             },
2026-06-16T08:24:18.5947129Z             {
2026-06-16T08:24:18.5947252Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5947413Z               "line": 183
2026-06-16T08:24:18.5947494Z             },
2026-06-16T08:24:18.5947579Z             {
2026-06-16T08:24:18.5947696Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5947783Z               "line": 482
2026-06-16T08:24:18.5947922Z             },
2026-06-16T08:24:18.5948002Z             {
2026-06-16T08:24:18.5948131Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5948212Z               "line": 508
2026-06-16T08:24:18.5948293Z             },
2026-06-16T08:24:18.5948368Z             {
2026-06-16T08:24:18.5948479Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5948560Z               "line": 626
2026-06-16T08:24:18.5948641Z             },
2026-06-16T08:24:18.5948722Z             {
2026-06-16T08:24:18.5948837Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5948927Z               "line": 651
2026-06-16T08:24:18.5949081Z             },
2026-06-16T08:24:18.5949161Z             {
2026-06-16T08:24:18.5949275Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5949366Z               "line": 674
2026-06-16T08:24:18.5949443Z             },
2026-06-16T08:24:18.5949523Z             {
2026-06-16T08:24:18.5949642Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5949725Z               "line": 689
2026-06-16T08:24:18.5949805Z             },
2026-06-16T08:24:18.5949885Z             {
2026-06-16T08:24:18.5949987Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5950082Z               "line": 5179
2026-06-16T08:24:18.5950162Z             },
2026-06-16T08:24:18.5950242Z             {
2026-06-16T08:24:18.5950347Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5950427Z               "line": 5193
2026-06-16T08:24:18.5950507Z             },
2026-06-16T08:24:18.5950587Z             {
2026-06-16T08:24:18.5950688Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5950774Z               "line": 5227
2026-06-16T08:24:18.5950860Z             }
2026-06-16T08:24:18.5950945Z           ]
2026-06-16T08:24:18.5951027Z         },
2026-06-16T08:24:18.5951108Z         "int": {
2026-06-16T08:24:18.5951207Z           "complete": false,
2026-06-16T08:24:18.5951309Z           "evidence": []
2026-06-16T08:24:18.5951389Z         },
2026-06-16T08:24:18.5951475Z         "unit": {
2026-06-16T08:24:18.5951555Z           "complete": true,
2026-06-16T08:24:18.5951652Z           "evidence": [
2026-06-16T08:24:18.5951732Z             {
2026-06-16T08:24:18.5951851Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.5951948Z               "line": 920
2026-06-16T08:24:18.5952029Z             },
2026-06-16T08:24:18.5952113Z             {
2026-06-16T08:24:18.5952229Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5952315Z               "line": 211
2026-06-16T08:24:18.5952400Z             },
2026-06-16T08:24:18.5952481Z             {
2026-06-16T08:24:18.5952606Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5952687Z               "line": 272
2026-06-16T08:24:18.5952770Z             },
2026-06-16T08:24:18.5952852Z             {
2026-06-16T08:24:18.5952971Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5953055Z               "line": 313
2026-06-16T08:24:18.5953140Z             },
2026-06-16T08:24:18.5953222Z             {
2026-06-16T08:24:18.5953337Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5953421Z               "line": 325
2026-06-16T08:24:18.5953493Z             },
2026-06-16T08:24:18.5953580Z             {
2026-06-16T08:24:18.5953685Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5953774Z               "line": 336
2026-06-16T08:24:18.5953856Z             },
2026-06-16T08:24:18.5953932Z             {
2026-06-16T08:24:18.5954060Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5954228Z               "line": 345
2026-06-16T08:24:18.5954308Z             },
2026-06-16T08:24:18.5954389Z             {
2026-06-16T08:24:18.5954500Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5954590Z               "line": 361
2026-06-16T08:24:18.5954781Z             },
2026-06-16T08:24:18.5954863Z             {
2026-06-16T08:24:18.5954980Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5955067Z               "line": 444
2026-06-16T08:24:18.5955149Z             },
2026-06-16T08:24:18.5955230Z             {
2026-06-16T08:24:18.5955353Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5955435Z               "line": 877
2026-06-16T08:24:18.5955511Z             },
2026-06-16T08:24:18.5955591Z             {
2026-06-16T08:24:18.5955714Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5955805Z               "line": 901
2026-06-16T08:24:18.5955887Z             },
2026-06-16T08:24:18.5955971Z             {
2026-06-16T08:24:18.5956091Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5956177Z               "line": 927
2026-06-16T08:24:18.5956263Z             },
2026-06-16T08:24:18.5956348Z             {
2026-06-16T08:24:18.5956469Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5956559Z               "line": 946
2026-06-16T08:24:18.5956648Z             },
2026-06-16T08:24:18.5956730Z             {
2026-06-16T08:24:18.5956859Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5956944Z               "line": 977
2026-06-16T08:24:18.5957035Z             },
2026-06-16T08:24:18.5957122Z             {
2026-06-16T08:24:18.5957240Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.5957330Z               "line": 309
2026-06-16T08:24:18.5957413Z             },
2026-06-16T08:24:18.5957497Z             {
2026-06-16T08:24:18.5957607Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.5957703Z               "line": 532
2026-06-16T08:24:18.5957789Z             },
2026-06-16T08:24:18.5957874Z             {
2026-06-16T08:24:18.5957977Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5958064Z               "line": 7474
2026-06-16T08:24:18.5958157Z             },
2026-06-16T08:24:18.5958243Z             {
2026-06-16T08:24:18.5958347Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5958439Z               "line": 8384
2026-06-16T08:24:18.5958529Z             }
2026-06-16T08:24:18.5958614Z           ]
2026-06-16T08:24:18.5958686Z         }
2026-06-16T08:24:18.5958768Z       }
2026-06-16T08:24:18.5958848Z     },
2026-06-16T08:24:18.5958933Z     {
2026-06-16T08:24:18.5959125Z       "id": "REQ-MANIFEST-3",
2026-06-16T08:24:18.5959806Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-16T08:24:18.5959917Z       "requiredStages": [
2026-06-16T08:24:18.5959994Z         "doc",
2026-06-16T08:24:18.5960074Z         "impl",
2026-06-16T08:24:18.5960155Z         "unit"
2026-06-16T08:24:18.5960242Z       ],
2026-06-16T08:24:18.5960327Z       "stages": {
2026-06-16T08:24:18.5960417Z         "doc": {
2026-06-16T08:24:18.5960517Z           "complete": true,
2026-06-16T08:24:18.5960605Z           "evidence": [
2026-06-16T08:24:18.5960684Z             {
2026-06-16T08:24:18.5960783Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5960878Z               "line": 81
2026-06-16T08:24:18.5960969Z             }
2026-06-16T08:24:18.5961048Z           ]
2026-06-16T08:24:18.5961124Z         },
2026-06-16T08:24:18.5961215Z         "impl": {
2026-06-16T08:24:18.5961306Z           "complete": true,
2026-06-16T08:24:18.5961401Z           "evidence": [
2026-06-16T08:24:18.5961481Z             {
2026-06-16T08:24:18.5961606Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5961791Z               "line": 72
2026-06-16T08:24:18.5961874Z             },
2026-06-16T08:24:18.5961954Z             {
2026-06-16T08:24:18.5962087Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5962178Z               "line": 101
2026-06-16T08:24:18.5962359Z             },
2026-06-16T08:24:18.5962435Z             {
2026-06-16T08:24:18.5962560Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5962645Z               "line": 132
2026-06-16T08:24:18.5962726Z             },
2026-06-16T08:24:18.5962798Z             {
2026-06-16T08:24:18.5962922Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5963007Z               "line": 532
2026-06-16T08:24:18.5963089Z             },
2026-06-16T08:24:18.5963166Z             {
2026-06-16T08:24:18.5963284Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5963364Z               "line": 588
2026-06-16T08:24:18.5963445Z             },
2026-06-16T08:24:18.5963536Z             {
2026-06-16T08:24:18.5963634Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5963729Z               "line": 5240
2026-06-16T08:24:18.5963806Z             },
2026-06-16T08:24:18.5963887Z             {
2026-06-16T08:24:18.5963986Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5964067Z               "line": 5266
2026-06-16T08:24:18.5964149Z             }
2026-06-16T08:24:18.5964220Z           ]
2026-06-16T08:24:18.5964301Z         },
2026-06-16T08:24:18.5964382Z         "int": {
2026-06-16T08:24:18.5964478Z           "complete": false,
2026-06-16T08:24:18.5964559Z           "evidence": []
2026-06-16T08:24:18.5964639Z         },
2026-06-16T08:24:18.5964716Z         "unit": {
2026-06-16T08:24:18.5964812Z           "complete": true,
2026-06-16T08:24:18.5964887Z           "evidence": [
2026-06-16T08:24:18.5964968Z             {
2026-06-16T08:24:18.5965089Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5965170Z               "line": 371
2026-06-16T08:24:18.5965251Z             },
2026-06-16T08:24:18.5965331Z             {
2026-06-16T08:24:18.5965442Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5965526Z               "line": 429
2026-06-16T08:24:18.5965607Z             },
2026-06-16T08:24:18.5965690Z             {
2026-06-16T08:24:18.5965804Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5965889Z               "line": 1001
2026-06-16T08:24:18.5965971Z             },
2026-06-16T08:24:18.5966052Z             {
2026-06-16T08:24:18.5966151Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.5966231Z               "line": 7529
2026-06-16T08:24:18.5966317Z             }
2026-06-16T08:24:18.5966394Z           ]
2026-06-16T08:24:18.5966471Z         }
2026-06-16T08:24:18.5966560Z       }
2026-06-16T08:24:18.5966641Z     },
2026-06-16T08:24:18.5966714Z     {
2026-06-16T08:24:18.5966805Z       "id": "REQ-MANIFEST-4",
2026-06-16T08:24:18.5967542Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-16T08:24:18.5967644Z       "requiredStages": [
2026-06-16T08:24:18.5967733Z         "doc",
2026-06-16T08:24:18.5967824Z         "impl",
2026-06-16T08:24:18.5967910Z         "unit"
2026-06-16T08:24:18.5967987Z       ],
2026-06-16T08:24:18.5968072Z       "stages": {
2026-06-16T08:24:18.5968148Z         "doc": {
2026-06-16T08:24:18.5968244Z           "complete": true,
2026-06-16T08:24:18.5968331Z           "evidence": [
2026-06-16T08:24:18.5968405Z             {
2026-06-16T08:24:18.5968500Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5968590Z               "line": 88
2026-06-16T08:24:18.5968676Z             }
2026-06-16T08:24:18.5968755Z           ]
2026-06-16T08:24:18.5968831Z         },
2026-06-16T08:24:18.5968922Z         "impl": {
2026-06-16T08:24:18.5969174Z           "complete": true,
2026-06-16T08:24:18.5969256Z           "evidence": [
2026-06-16T08:24:18.5969347Z             {
2026-06-16T08:24:18.5969489Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5969581Z               "line": 80
2026-06-16T08:24:18.5969766Z             },
2026-06-16T08:24:18.5969848Z             {
2026-06-16T08:24:18.5969971Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5970047Z               "line": 152
2026-06-16T08:24:18.5970138Z             },
2026-06-16T08:24:18.5970210Z             {
2026-06-16T08:24:18.5970319Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.5970414Z               "line": 83
2026-06-16T08:24:18.5970492Z             },
2026-06-16T08:24:18.5970582Z             {
2026-06-16T08:24:18.5970701Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5970797Z               "line": 625
2026-06-16T08:24:18.5970878Z             },
2026-06-16T08:24:18.5970953Z             {
2026-06-16T08:24:18.5971073Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5971160Z               "line": 650
2026-06-16T08:24:18.5971254Z             }
2026-06-16T08:24:18.5971329Z           ]
2026-06-16T08:24:18.5971409Z         },
2026-06-16T08:24:18.5971486Z         "int": {
2026-06-16T08:24:18.5971585Z           "complete": false,
2026-06-16T08:24:18.5971679Z           "evidence": []
2026-06-16T08:24:18.5971761Z         },
2026-06-16T08:24:18.5971847Z         "unit": {
2026-06-16T08:24:18.5971937Z           "complete": true,
2026-06-16T08:24:18.5972027Z           "evidence": [
2026-06-16T08:24:18.5972109Z             {
2026-06-16T08:24:18.5972224Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5972323Z               "line": 1164
2026-06-16T08:24:18.5972405Z             },
2026-06-16T08:24:18.5972481Z             {
2026-06-16T08:24:18.5972600Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5972700Z               "line": 1197
2026-06-16T08:24:18.5972777Z             },
2026-06-16T08:24:18.5972862Z             {
2026-06-16T08:24:18.5972977Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.5973053Z               "line": 982
2026-06-16T08:24:18.5973144Z             }
2026-06-16T08:24:18.5973219Z           ]
2026-06-16T08:24:18.5973296Z         }
2026-06-16T08:24:18.5973373Z       }
2026-06-16T08:24:18.5973459Z     },
2026-06-16T08:24:18.5973539Z     {
2026-06-16T08:24:18.5973639Z       "id": "REQ-MANIFEST-5",
2026-06-16T08:24:18.5976536Z       "title": "File-backed adapter [strings] (M12-W3-T3.1): a [strings] dot-path value MAY be an inline-table FILE POINTER `key = { file = \"rel/path\" }` resolved to the file's contents at get-string time, keeping large bodies (skill-instructions, hint text) out of the manifest. A value-position table with a `file` key IS the pointer form (reserved — cannot double as data). Per-adapter aux storage `adapters/<adapter>/strings/`; pointers resolve relative to it with CONTAINMENT (reject `..`/absolute escaping the dir). UPDATE-SAFETY: a LOCAL profile's file-pointers resolve relative to the user-owned local-profile dir (NOT adapter-shipped strings/, which adapter updates overwrite), or the local profile inlines. Validate-at-register (fail-fast on a bad/escaping/missing pointer) + LAZY read at get-string (live file edits reflect, no re-register) + skip-diagnostics on missing-at-read (no hard-crash, mirrors [digest]). Rides the same leaf-replace profile overlay as the rest of [strings].",
2026-06-16T08:24:18.5976651Z       "requiredStages": [
2026-06-16T08:24:18.5976739Z         "doc",
2026-06-16T08:24:18.5976815Z         "impl",
2026-06-16T08:24:18.5976901Z         "unit"
2026-06-16T08:24:18.5976978Z       ],
2026-06-16T08:24:18.5977064Z       "stages": {
2026-06-16T08:24:18.5977144Z         "doc": {
2026-06-16T08:24:18.5977240Z           "complete": true,
2026-06-16T08:24:18.5977330Z           "evidence": [
2026-06-16T08:24:18.5977411Z             {
2026-06-16T08:24:18.5977731Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5977812Z               "line": 83
2026-06-16T08:24:18.5977889Z             }
2026-06-16T08:24:18.5977974Z           ]
2026-06-16T08:24:18.5978055Z         },
2026-06-16T08:24:18.5978131Z         "impl": {
2026-06-16T08:24:18.5978299Z           "complete": true,
2026-06-16T08:24:18.5978389Z           "evidence": [
2026-06-16T08:24:18.5978465Z             {
2026-06-16T08:24:18.5978595Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5978689Z               "line": 120
2026-06-16T08:24:18.5978771Z             }
2026-06-16T08:24:18.5978848Z           ]
2026-06-16T08:24:18.5979017Z         },
2026-06-16T08:24:18.5979097Z         "int": {
2026-06-16T08:24:18.5979189Z           "complete": false,
2026-06-16T08:24:18.5979278Z           "evidence": []
2026-06-16T08:24:18.5979363Z         },
2026-06-16T08:24:18.5979454Z         "unit": {
2026-06-16T08:24:18.5979545Z           "complete": true,
2026-06-16T08:24:18.5979635Z           "evidence": [
2026-06-16T08:24:18.5979720Z             {
2026-06-16T08:24:18.5979841Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T08:24:18.5979931Z               "line": 404
2026-06-16T08:24:18.5980011Z             },
2026-06-16T08:24:18.5980103Z             {
2026-06-16T08:24:18.5980221Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5980316Z               "line": 1074
2026-06-16T08:24:18.5980398Z             },
2026-06-16T08:24:18.5980475Z             {
2026-06-16T08:24:18.5980594Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5980684Z               "line": 1103
2026-06-16T08:24:18.5980766Z             },
2026-06-16T08:24:18.5980846Z             {
2026-06-16T08:24:18.5980965Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5981052Z               "line": 1143
2026-06-16T08:24:18.5981133Z             },
2026-06-16T08:24:18.5981212Z             {
2026-06-16T08:24:18.5981332Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5981429Z               "line": 1158
2026-06-16T08:24:18.5981508Z             }
2026-06-16T08:24:18.5981590Z           ]
2026-06-16T08:24:18.5981667Z         }
2026-06-16T08:24:18.5981753Z       }
2026-06-16T08:24:18.5981837Z     },
2026-06-16T08:24:18.5981918Z     {
2026-06-16T08:24:18.5982022Z       "id": "REQ-MANIFEST-6",
2026-06-16T08:24:18.5984176Z       "title": "Cross-adapter fallback target addressing (M12-W3-T3.2): a cross-adapter fallback target is addressed as `<adapter>:<profile>` (not just a bare adapter_name), resolved through the one composite-addressing resolver (registry::resolve_option) at every adapter-option read site so a fallback may select a shipped/local profile (e.g. a `ccs` profile). CONTEXT.md §cross-adapter-fallback reconciled (\"ccs is a profile; cross-adapter fallback may target <adapter>:<profile>\"). Contract-only this milestone: the node-wide fallback SETTING + its rate-limit invocation are deferred to the consuming milestone (the runtime path does not exist yet); this REQ guarantees the ADDRESSING resolves.",
2026-06-16T08:24:18.5984277Z       "requiredStages": [
2026-06-16T08:24:18.5984357Z         "doc",
2026-06-16T08:24:18.5984447Z         "unit"
2026-06-16T08:24:18.5984527Z       ],
2026-06-16T08:24:18.5984613Z       "stages": {
2026-06-16T08:24:18.5984688Z         "doc": {
2026-06-16T08:24:18.5984773Z           "complete": true,
2026-06-16T08:24:18.5984853Z           "evidence": [
2026-06-16T08:24:18.5984940Z             {
2026-06-16T08:24:18.5985041Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.5985116Z               "line": 139
2026-06-16T08:24:18.5985198Z             }
2026-06-16T08:24:18.5985279Z           ]
2026-06-16T08:24:18.5985355Z         },
2026-06-16T08:24:18.5985440Z         "impl": {
2026-06-16T08:24:18.5985531Z           "complete": false,
2026-06-16T08:24:18.5985627Z           "evidence": []
2026-06-16T08:24:18.5985708Z         },
2026-06-16T08:24:18.5985918Z         "int": {
2026-06-16T08:24:18.5986003Z           "complete": false,
2026-06-16T08:24:18.5986098Z           "evidence": []
2026-06-16T08:24:18.5986180Z         },
2026-06-16T08:24:18.5986266Z         "unit": {
2026-06-16T08:24:18.5986366Z           "complete": true,
2026-06-16T08:24:18.5986534Z           "evidence": [
2026-06-16T08:24:18.5986613Z             {
2026-06-16T08:24:18.5986733Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T08:24:18.5986825Z               "line": 1180
2026-06-16T08:24:18.5986905Z             }
2026-06-16T08:24:18.5986985Z           ]
2026-06-16T08:24:18.5987062Z         }
2026-06-16T08:24:18.5987144Z       }
2026-06-16T08:24:18.5987225Z     },
2026-06-16T08:24:18.5987295Z     {
2026-06-16T08:24:18.5987399Z       "id": "REQ-MANIFEST-7",
2026-06-16T08:24:18.5990600Z       "title": "Adapter-declared shortcut basename (M12-W2 follow-on): an optional `[adapter] shortcut_basename` manifest field names the basename the `spt endpoint run` picker bakes into the generated `<basename>-<id>` launcher shortcut (REQ-RUN-SHORTCUT). Absent ⇒ the harness-agnostic default `spt` (→ `spt-<id>`); an adapter sets it to brand its shortcuts (claude-spt → `cc` → `cc-<id>`), so the Claude-Code-ness lives in the PUBLISHED adapter manifest, never hardcoded in spt-core. The picker reads it from the RESOLVED manifest of the selected adapter (registry::resolve_option), falling back to `spt` when absent/empty/unresolvable. Additive + N-1-safe (serde-default Option, omitted from serialization when absent; old manifests parse clean); manifest.schema.json regenerated from the derive (ADR-0001, CI drift-gated). Documented in docs/MANIFEST.md `[adapter]` section + the claude-spt worked example — the adapter-author contract perri builds spt-claude-code against.",
2026-06-16T08:24:18.5990716Z       "requiredStages": [
2026-06-16T08:24:18.5990796Z         "doc",
2026-06-16T08:24:18.5990876Z         "impl",
2026-06-16T08:24:18.5990953Z         "unit"
2026-06-16T08:24:18.5991030Z       ],
2026-06-16T08:24:18.5991130Z       "stages": {
2026-06-16T08:24:18.5991205Z         "doc": {
2026-06-16T08:24:18.5991307Z           "complete": true,
2026-06-16T08:24:18.5991383Z           "evidence": [
2026-06-16T08:24:18.5991464Z             {
2026-06-16T08:24:18.5991568Z               "path": "docs/MANIFEST.md",
2026-06-16T08:24:18.5991665Z               "line": 34
2026-06-16T08:24:18.5991749Z             }
2026-06-16T08:24:18.5991835Z           ]
2026-06-16T08:24:18.5991912Z         },
2026-06-16T08:24:18.5991994Z         "impl": {
2026-06-16T08:24:18.5992087Z           "complete": true,
2026-06-16T08:24:18.5992169Z           "evidence": [
2026-06-16T08:24:18.5992256Z             {
2026-06-16T08:24:18.5992374Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T08:24:18.5992459Z               "line": 54
2026-06-16T08:24:18.5992539Z             }
2026-06-16T08:24:18.5992621Z           ]
2026-06-16T08:24:18.5992701Z         },
2026-06-16T08:24:18.5992781Z         "int": {
2026-06-16T08:24:18.5992881Z           "complete": false,
2026-06-16T08:24:18.5992967Z           "evidence": []
2026-06-16T08:24:18.5993039Z         },
2026-06-16T08:24:18.5993133Z         "unit": {
2026-06-16T08:24:18.5993215Z           "complete": true,
2026-06-16T08:24:18.5993296Z           "evidence": [
2026-06-16T08:24:18.5993377Z             {
2026-06-16T08:24:18.5993510Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.5993611Z               "line": 1357
2026-06-16T08:24:18.5993688Z             }
2026-06-16T08:24:18.5993767Z           ]
2026-06-16T08:24:18.5993844Z         }
2026-06-16T08:24:18.5993931Z       }
2026-06-16T08:24:18.5994006Z     },
2026-06-16T08:24:18.5994092Z     {
2026-06-16T08:24:18.5994179Z       "id": "REQ-MESH-1",
2026-06-16T08:24:18.5996277Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-16T08:24:18.5996563Z       "requiredStages": [
2026-06-16T08:24:18.5996644Z         "impl",
2026-06-16T08:24:18.5996721Z         "unit",
2026-06-16T08:24:18.5996807Z         "int"
2026-06-16T08:24:18.5996893Z       ],
2026-06-16T08:24:18.5996983Z       "stages": {
2026-06-16T08:24:18.5997060Z         "doc": {
2026-06-16T08:24:18.5997159Z           "complete": false,
2026-06-16T08:24:18.5997245Z           "evidence": []
2026-06-16T08:24:18.5997331Z         },
2026-06-16T08:24:18.5997409Z         "impl": {
2026-06-16T08:24:18.5997507Z           "complete": true,
2026-06-16T08:24:18.5997603Z           "evidence": [
2026-06-16T08:24:18.5997680Z             {
2026-06-16T08:24:18.5997808Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.5997893Z               "line": 845
2026-06-16T08:24:18.5997973Z             },
2026-06-16T08:24:18.5998055Z             {
2026-06-16T08:24:18.5998174Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.5998273Z               "line": 38
2026-06-16T08:24:18.5998356Z             },
2026-06-16T08:24:18.5998432Z             {
2026-06-16T08:24:18.5998551Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.5998641Z               "line": 161
2026-06-16T08:24:18.5998728Z             },
2026-06-16T08:24:18.5998804Z             {
2026-06-16T08:24:18.5998927Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.5999095Z               "line": 206
2026-06-16T08:24:18.5999175Z             },
2026-06-16T08:24:18.5999266Z             {
2026-06-16T08:24:18.5999391Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.5999486Z               "line": 57
2026-06-16T08:24:18.5999556Z             },
2026-06-16T08:24:18.5999639Z             {
2026-06-16T08:24:18.5999771Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.5999866Z               "line": 24
2026-06-16T08:24:18.5999959Z             },
2026-06-16T08:24:18.6000039Z             {
2026-06-16T08:24:18.6000176Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6000261Z               "line": 142
2026-06-16T08:24:18.6000352Z             },
2026-06-16T08:24:18.6000426Z             {
2026-06-16T08:24:18.6000550Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6000641Z               "line": 162
2026-06-16T08:24:18.6000727Z             }
2026-06-16T08:24:18.6000802Z           ]
2026-06-16T08:24:18.6000888Z         },
2026-06-16T08:24:18.6000975Z         "int": {
2026-06-16T08:24:18.6001065Z           "complete": true,
2026-06-16T08:24:18.6001165Z           "evidence": [
2026-06-16T08:24:18.6001252Z             {
2026-06-16T08:24:18.6001380Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T08:24:18.6001479Z               "line": 67
2026-06-16T08:24:18.6001562Z             },
2026-06-16T08:24:18.6001638Z             {
2026-06-16T08:24:18.6001765Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T08:24:18.6001862Z               "line": 93
2026-06-16T08:24:18.6001948Z             },
2026-06-16T08:24:18.6002033Z             {
2026-06-16T08:24:18.6002143Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T08:24:18.6002234Z               "line": 117
2026-06-16T08:24:18.6002319Z             },
2026-06-16T08:24:18.6002400Z             {
2026-06-16T08:24:18.6002530Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T08:24:18.6002624Z               "line": 134
2026-06-16T08:24:18.6002797Z             }
2026-06-16T08:24:18.6002873Z           ]
2026-06-16T08:24:18.6002953Z         },
2026-06-16T08:24:18.6003033Z         "unit": {
2026-06-16T08:24:18.6003124Z           "complete": true,
2026-06-16T08:24:18.6003219Z           "evidence": [
2026-06-16T08:24:18.6003393Z             {
2026-06-16T08:24:18.6003513Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6003595Z               "line": 427
2026-06-16T08:24:18.6003674Z             },
2026-06-16T08:24:18.6003750Z             {
2026-06-16T08:24:18.6003875Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6003956Z               "line": 376
2026-06-16T08:24:18.6004041Z             },
2026-06-16T08:24:18.6004114Z             {
2026-06-16T08:24:18.6004243Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6004327Z               "line": 412
2026-06-16T08:24:18.6004404Z             },
2026-06-16T08:24:18.6004486Z             {
2026-06-16T08:24:18.6004614Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6004704Z               "line": 427
2026-06-16T08:24:18.6004787Z             },
2026-06-16T08:24:18.6004871Z             {
2026-06-16T08:24:18.6004996Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6005097Z               "line": 438
2026-06-16T08:24:18.6005186Z             },
2026-06-16T08:24:18.6005272Z             {
2026-06-16T08:24:18.6005407Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6005501Z               "line": 449
2026-06-16T08:24:18.6005581Z             },
2026-06-16T08:24:18.6005666Z             {
2026-06-16T08:24:18.6005790Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6005879Z               "line": 460
2026-06-16T08:24:18.6005969Z             },
2026-06-16T08:24:18.6006060Z             {
2026-06-16T08:24:18.6006189Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6006284Z               "line": 496
2026-06-16T08:24:18.6006366Z             },
2026-06-16T08:24:18.6006456Z             {
2026-06-16T08:24:18.6006584Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6006676Z               "line": 519
2026-06-16T08:24:18.6006761Z             },
2026-06-16T08:24:18.6006842Z             {
2026-06-16T08:24:18.6006976Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6007066Z               "line": 546
2026-06-16T08:24:18.6007148Z             }
2026-06-16T08:24:18.6007233Z           ]
2026-06-16T08:24:18.6007315Z         }
2026-06-16T08:24:18.6007395Z       }
2026-06-16T08:24:18.6007476Z     },
2026-06-16T08:24:18.6007557Z     {
2026-06-16T08:24:18.6007640Z       "id": "REQ-MESH-2",
2026-06-16T08:24:18.6010364Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-16T08:24:18.6010475Z       "requiredStages": [
2026-06-16T08:24:18.6010557Z         "impl",
2026-06-16T08:24:18.6010636Z         "unit",
2026-06-16T08:24:18.6010721Z         "int"
2026-06-16T08:24:18.6010797Z       ],
2026-06-16T08:24:18.6013371Z       "stages": {
2026-06-16T08:24:18.6013636Z         "doc": {
2026-06-16T08:24:18.6013741Z           "complete": false,
2026-06-16T08:24:18.6013830Z           "evidence": []
2026-06-16T08:24:18.6013910Z         },
2026-06-16T08:24:18.6014001Z         "impl": {
2026-06-16T08:24:18.6014093Z           "complete": true,
2026-06-16T08:24:18.6014282Z           "evidence": [
2026-06-16T08:24:18.6014364Z             {
2026-06-16T08:24:18.6014502Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6014597Z               "line": 734
2026-06-16T08:24:18.6014679Z             },
2026-06-16T08:24:18.6014760Z             {
2026-06-16T08:24:18.6014892Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6014979Z               "line": 118
2026-06-16T08:24:18.6015051Z             },
2026-06-16T08:24:18.6015131Z             {
2026-06-16T08:24:18.6015260Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6015337Z               "line": 347
2026-06-16T08:24:18.6015418Z             },
2026-06-16T08:24:18.6015503Z             {
2026-06-16T08:24:18.6015624Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6015700Z               "line": 389
2026-06-16T08:24:18.6015784Z             },
2026-06-16T08:24:18.6015870Z             {
2026-06-16T08:24:18.6015981Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6016075Z               "line": 403
2026-06-16T08:24:18.6016160Z             },
2026-06-16T08:24:18.6016246Z             {
2026-06-16T08:24:18.6016369Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6016458Z               "line": 492
2026-06-16T08:24:18.6016534Z             },
2026-06-16T08:24:18.6016616Z             {
2026-06-16T08:24:18.6016731Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6016815Z               "line": 507
2026-06-16T08:24:18.6016897Z             },
2026-06-16T08:24:18.6016974Z             {
2026-06-16T08:24:18.6017087Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6017178Z               "line": 534
2026-06-16T08:24:18.6017260Z             },
2026-06-16T08:24:18.6017345Z             {
2026-06-16T08:24:18.6017469Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6017565Z               "line": 207
2026-06-16T08:24:18.6017641Z             },
2026-06-16T08:24:18.6017717Z             {
2026-06-16T08:24:18.6017846Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6017923Z               "line": 755
2026-06-16T08:24:18.6018008Z             },
2026-06-16T08:24:18.6018089Z             {
2026-06-16T08:24:18.6018209Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6018294Z               "line": 816
2026-06-16T08:24:18.6018375Z             },
2026-06-16T08:24:18.6018451Z             {
2026-06-16T08:24:18.6018572Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6018656Z               "line": 869
2026-06-16T08:24:18.6018737Z             },
2026-06-16T08:24:18.6018815Z             {
2026-06-16T08:24:18.6018933Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6019103Z               "line": 891
2026-06-16T08:24:18.6019185Z             },
2026-06-16T08:24:18.6019262Z             {
2026-06-16T08:24:18.6019389Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6019476Z               "line": 122
2026-06-16T08:24:18.6019557Z             },
2026-06-16T08:24:18.6019637Z             {
2026-06-16T08:24:18.6019752Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6019834Z               "line": 44
2026-06-16T08:24:18.6019915Z             },
2026-06-16T08:24:18.6020000Z             {
2026-06-16T08:24:18.6020115Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6020200Z               "line": 184
2026-06-16T08:24:18.6020277Z             },
2026-06-16T08:24:18.6020353Z             {
2026-06-16T08:24:18.6020464Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6020677Z               "line": 211
2026-06-16T08:24:18.6020759Z             },
2026-06-16T08:24:18.6020844Z             {
2026-06-16T08:24:18.6020958Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6021140Z               "line": 251
2026-06-16T08:24:18.6021220Z             },
2026-06-16T08:24:18.6021300Z             {
2026-06-16T08:24:18.6021415Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6021509Z               "line": 275
2026-06-16T08:24:18.6021599Z             },
2026-06-16T08:24:18.6021684Z             {
2026-06-16T08:24:18.6021790Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6021875Z               "line": 289
2026-06-16T08:24:18.6021965Z             },
2026-06-16T08:24:18.6022062Z             {
2026-06-16T08:24:18.6022166Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6022256Z               "line": 300
2026-06-16T08:24:18.6022338Z             },
2026-06-16T08:24:18.6022415Z             {
2026-06-16T08:24:18.6022528Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6022609Z               "line": 313
2026-06-16T08:24:18.6022687Z             }
2026-06-16T08:24:18.6022772Z           ]
2026-06-16T08:24:18.6022853Z         },
2026-06-16T08:24:18.6022939Z         "int": {
2026-06-16T08:24:18.6023030Z           "complete": true,
2026-06-16T08:24:18.6023120Z           "evidence": [
2026-06-16T08:24:18.6023201Z             {
2026-06-16T08:24:18.6023336Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-16T08:24:18.6023415Z               "line": 116
2026-06-16T08:24:18.6023492Z             },
2026-06-16T08:24:18.6023573Z             {
2026-06-16T08:24:18.6023698Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-16T08:24:18.6023778Z               "line": 181
2026-06-16T08:24:18.6023859Z             }
2026-06-16T08:24:18.6023936Z           ]
2026-06-16T08:24:18.6024022Z         },
2026-06-16T08:24:18.6024102Z         "unit": {
2026-06-16T08:24:18.6024191Z           "complete": true,
2026-06-16T08:24:18.6024278Z           "evidence": [
2026-06-16T08:24:18.6024362Z             {
2026-06-16T08:24:18.6024489Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6024571Z               "line": 999
2026-06-16T08:24:18.6024653Z             },
2026-06-16T08:24:18.6024747Z             {
2026-06-16T08:24:18.6024866Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6024963Z               "line": 1016
2026-06-16T08:24:18.6025044Z             },
2026-06-16T08:24:18.6025133Z             {
2026-06-16T08:24:18.6025249Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6025343Z               "line": 1024
2026-06-16T08:24:18.6025424Z             },
2026-06-16T08:24:18.6025506Z             {
2026-06-16T08:24:18.6025625Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6025706Z               "line": 1048
2026-06-16T08:24:18.6025825Z             },
2026-06-16T08:24:18.6025921Z             {
2026-06-16T08:24:18.6026063Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6026154Z               "line": 1499
2026-06-16T08:24:18.6026236Z             },
2026-06-16T08:24:18.6026311Z             {
2026-06-16T08:24:18.6026430Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6026522Z               "line": 347
2026-06-16T08:24:18.6026603Z             },
2026-06-16T08:24:18.6026687Z             {
2026-06-16T08:24:18.6026806Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6026892Z               "line": 370
2026-06-16T08:24:18.6026981Z             },
2026-06-16T08:24:18.6027066Z             {
2026-06-16T08:24:18.6027176Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6027268Z               "line": 407
2026-06-16T08:24:18.6027342Z             },
2026-06-16T08:24:18.6027501Z             {
2026-06-16T08:24:18.6027601Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6027700Z               "line": 431
2026-06-16T08:24:18.6027782Z             },
2026-06-16T08:24:18.6027863Z             {
2026-06-16T08:24:18.6027977Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6028135Z               "line": 483
2026-06-16T08:24:18.6028224Z             },
2026-06-16T08:24:18.6028301Z             {
2026-06-16T08:24:18.6028411Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6028488Z               "line": 499
2026-06-16T08:24:18.6028578Z             },
2026-06-16T08:24:18.6028668Z             {
2026-06-16T08:24:18.6028784Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6028878Z               "line": 514
2026-06-16T08:24:18.6029031Z             },
2026-06-16T08:24:18.6029123Z             {
2026-06-16T08:24:18.6029230Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6029336Z               "line": 531
2026-06-16T08:24:18.6029418Z             }
2026-06-16T08:24:18.6029503Z           ]
2026-06-16T08:24:18.6029583Z         }
2026-06-16T08:24:18.6029663Z       }
2026-06-16T08:24:18.6029740Z     },
2026-06-16T08:24:18.6029827Z     {
2026-06-16T08:24:18.6029916Z       "id": "REQ-MESH-3",
2026-06-16T08:24:18.6031658Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-16T08:24:18.6031756Z       "requiredStages": [
2026-06-16T08:24:18.6031846Z         "impl",
2026-06-16T08:24:18.6031941Z         "unit",
2026-06-16T08:24:18.6032018Z         "int"
2026-06-16T08:24:18.6032102Z       ],
2026-06-16T08:24:18.6032182Z       "stages": {
2026-06-16T08:24:18.6032264Z         "doc": {
2026-06-16T08:24:18.6032360Z           "complete": false,
2026-06-16T08:24:18.6032455Z           "evidence": []
2026-06-16T08:24:18.6032535Z         },
2026-06-16T08:24:18.6032617Z         "impl": {
2026-06-16T08:24:18.6032717Z           "complete": true,
2026-06-16T08:24:18.6032798Z           "evidence": [
2026-06-16T08:24:18.6032879Z             {
2026-06-16T08:24:18.6033013Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.6033112Z               "line": 641
2026-06-16T08:24:18.6033189Z             }
2026-06-16T08:24:18.6033271Z           ]
2026-06-16T08:24:18.6033347Z         },
2026-06-16T08:24:18.6033432Z         "int": {
2026-06-16T08:24:18.6033523Z           "complete": true,
2026-06-16T08:24:18.6033609Z           "evidence": [
2026-06-16T08:24:18.6033695Z             {
2026-06-16T08:24:18.6033818Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-16T08:24:18.6033896Z               "line": 373
2026-06-16T08:24:18.6033971Z             },
2026-06-16T08:24:18.6034052Z             {
2026-06-16T08:24:18.6034162Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-16T08:24:18.6034248Z               "line": 436
2026-06-16T08:24:18.6034333Z             }
2026-06-16T08:24:18.6034448Z           ]
2026-06-16T08:24:18.6034526Z         },
2026-06-16T08:24:18.6034605Z         "unit": {
2026-06-16T08:24:18.6034695Z           "complete": true,
2026-06-16T08:24:18.6034785Z           "evidence": [
2026-06-16T08:24:18.6034871Z             {
2026-06-16T08:24:18.6035007Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.6035102Z               "line": 910
2026-06-16T08:24:18.6035184Z             }
2026-06-16T08:24:18.6035265Z           ]
2026-06-16T08:24:18.6035350Z         }
2026-06-16T08:24:18.6035431Z       }
2026-06-16T08:24:18.6035613Z     },
2026-06-16T08:24:18.6035698Z     {
2026-06-16T08:24:18.6035785Z       "id": "REQ-MESH-4",
2026-06-16T08:24:18.6037993Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-16T08:24:18.6038241Z       "requiredStages": [
2026-06-16T08:24:18.6038332Z         "impl",
2026-06-16T08:24:18.6038404Z         "unit",
2026-06-16T08:24:18.6038490Z         "int"
2026-06-16T08:24:18.6038570Z       ],
2026-06-16T08:24:18.6038657Z       "stages": {
2026-06-16T08:24:18.6038738Z         "doc": {
2026-06-16T08:24:18.6038838Z           "complete": false,
2026-06-16T08:24:18.6038933Z           "evidence": []
2026-06-16T08:24:18.6039095Z         },
2026-06-16T08:24:18.6039186Z         "impl": {
2026-06-16T08:24:18.6039276Z           "complete": true,
2026-06-16T08:24:18.6039391Z           "evidence": [
2026-06-16T08:24:18.6039471Z             {
2026-06-16T08:24:18.6039611Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.6039692Z               "line": 33
2026-06-16T08:24:18.6039771Z             },
2026-06-16T08:24:18.6039848Z             {
2026-06-16T08:24:18.6039973Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6040054Z               "line": 68
2026-06-16T08:24:18.6040128Z             },
2026-06-16T08:24:18.6040209Z             {
2026-06-16T08:24:18.6040334Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6040411Z               "line": 111
2026-06-16T08:24:18.6040495Z             },
2026-06-16T08:24:18.6040577Z             {
2026-06-16T08:24:18.6040691Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6040777Z               "line": 462
2026-06-16T08:24:18.6040858Z             },
2026-06-16T08:24:18.6040940Z             {
2026-06-16T08:24:18.6041054Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6041153Z               "line": 711
2026-06-16T08:24:18.6041230Z             },
2026-06-16T08:24:18.6041316Z             {
2026-06-16T08:24:18.6041439Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6041531Z               "line": 725
2026-06-16T08:24:18.6041622Z             },
2026-06-16T08:24:18.6041702Z             {
2026-06-16T08:24:18.6041816Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6041903Z               "line": 132
2026-06-16T08:24:18.6041983Z             },
2026-06-16T08:24:18.6042060Z             {
2026-06-16T08:24:18.6042185Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6042270Z               "line": 26
2026-06-16T08:24:18.6042355Z             },
2026-06-16T08:24:18.6042430Z             {
2026-06-16T08:24:18.6042545Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6042686Z               "line": 97
2026-06-16T08:24:18.6042775Z             },
2026-06-16T08:24:18.6042867Z             {
2026-06-16T08:24:18.6043010Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6043090Z               "line": 119
2026-06-16T08:24:18.6043172Z             },
2026-06-16T08:24:18.6043249Z             {
2026-06-16T08:24:18.6043367Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6043454Z               "line": 82
2026-06-16T08:24:18.6043535Z             },
2026-06-16T08:24:18.6043620Z             {
2026-06-16T08:24:18.6043840Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6043935Z               "line": 111
2026-06-16T08:24:18.6044020Z             },
2026-06-16T08:24:18.6044102Z             {
2026-06-16T08:24:18.6044216Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6044408Z               "line": 232
2026-06-16T08:24:18.6052981Z             },
2026-06-16T08:24:18.6053076Z             {
2026-06-16T08:24:18.6053227Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6053326Z               "line": 245
2026-06-16T08:24:18.6053403Z             },
2026-06-16T08:24:18.6053495Z             {
2026-06-16T08:24:18.6053608Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6053694Z               "line": 4344
2026-06-16T08:24:18.6053766Z             }
2026-06-16T08:24:18.6053847Z           ]
2026-06-16T08:24:18.6053932Z         },
2026-06-16T08:24:18.6054023Z         "int": {
2026-06-16T08:24:18.6054118Z           "complete": true,
2026-06-16T08:24:18.6054227Z           "evidence": [
2026-06-16T08:24:18.6054309Z             {
2026-06-16T08:24:18.6054429Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-16T08:24:18.6054514Z               "line": 98
2026-06-16T08:24:18.6054600Z             },
2026-06-16T08:24:18.6054687Z             {
2026-06-16T08:24:18.6054815Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-16T08:24:18.6054895Z               "line": 140
2026-06-16T08:24:18.6054987Z             }
2026-06-16T08:24:18.6055068Z           ]
2026-06-16T08:24:18.6055153Z         },
2026-06-16T08:24:18.6055234Z         "unit": {
2026-06-16T08:24:18.6055331Z           "complete": true,
2026-06-16T08:24:18.6055420Z           "evidence": [
2026-06-16T08:24:18.6055496Z             {
2026-06-16T08:24:18.6055641Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.6055726Z               "line": 178
2026-06-16T08:24:18.6055820Z             },
2026-06-16T08:24:18.6055900Z             {
2026-06-16T08:24:18.6056038Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.6056132Z               "line": 242
2026-06-16T08:24:18.6056212Z             },
2026-06-16T08:24:18.6056304Z             {
2026-06-16T08:24:18.6056432Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6056527Z               "line": 1079
2026-06-16T08:24:18.6056615Z             },
2026-06-16T08:24:18.6056700Z             {
2026-06-16T08:24:18.6056823Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6056910Z               "line": 1109
2026-06-16T08:24:18.6056995Z             },
2026-06-16T08:24:18.6057081Z             {
2026-06-16T08:24:18.6057205Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T08:24:18.6057301Z               "line": 1129
2026-06-16T08:24:18.6057381Z             },
2026-06-16T08:24:18.6057458Z             {
2026-06-16T08:24:18.6057592Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T08:24:18.6057686Z               "line": 602
2026-06-16T08:24:18.6057772Z             },
2026-06-16T08:24:18.6057864Z             {
2026-06-16T08:24:18.6057987Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6058078Z               "line": 148
2026-06-16T08:24:18.6058164Z             },
2026-06-16T08:24:18.6058236Z             {
2026-06-16T08:24:18.6058344Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6058429Z               "line": 169
2026-06-16T08:24:18.6058515Z             },
2026-06-16T08:24:18.6058600Z             {
2026-06-16T08:24:18.6058708Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6058803Z               "line": 181
2026-06-16T08:24:18.6058880Z             },
2026-06-16T08:24:18.6059042Z             {
2026-06-16T08:24:18.6059157Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T08:24:18.6059248Z               "line": 202
2026-06-16T08:24:18.6059505Z             },
2026-06-16T08:24:18.6059586Z             {
2026-06-16T08:24:18.6059714Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6059797Z               "line": 375
2026-06-16T08:24:18.6059882Z             },
2026-06-16T08:24:18.6059963Z             {
2026-06-16T08:24:18.6060177Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6060263Z               "line": 407
2026-06-16T08:24:18.6060348Z             },
2026-06-16T08:24:18.6060426Z             {
2026-06-16T08:24:18.6060530Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6060621Z               "line": 8878
2026-06-16T08:24:18.6060697Z             }
2026-06-16T08:24:18.6060788Z           ]
2026-06-16T08:24:18.6060868Z         }
2026-06-16T08:24:18.6060950Z       }
2026-06-16T08:24:18.6061027Z     },
2026-06-16T08:24:18.6061108Z     {
2026-06-16T08:24:18.6061211Z       "id": "REQ-MESH-5",
2026-06-16T08:24:18.6062699Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-16T08:24:18.6062808Z       "requiredStages": [
2026-06-16T08:24:18.6062903Z         "impl",
2026-06-16T08:24:18.6062981Z         "unit"
2026-06-16T08:24:18.6063066Z       ],
2026-06-16T08:24:18.6063146Z       "stages": {
2026-06-16T08:24:18.6063232Z         "doc": {
2026-06-16T08:24:18.6063334Z           "complete": false,
2026-06-16T08:24:18.6063418Z           "evidence": []
2026-06-16T08:24:18.6063508Z         },
2026-06-16T08:24:18.6063588Z         "impl": {
2026-06-16T08:24:18.6063689Z           "complete": true,
2026-06-16T08:24:18.6063769Z           "evidence": [
2026-06-16T08:24:18.6063858Z             {
2026-06-16T08:24:18.6063997Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6064079Z               "line": 61
2026-06-16T08:24:18.6064158Z             },
2026-06-16T08:24:18.6064240Z             {
2026-06-16T08:24:18.6064373Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6064468Z               "line": 109
2026-06-16T08:24:18.6064549Z             },
2026-06-16T08:24:18.6064632Z             {
2026-06-16T08:24:18.6064755Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6064850Z               "line": 104
2026-06-16T08:24:18.6064922Z             },
2026-06-16T08:24:18.6065012Z             {
2026-06-16T08:24:18.6065131Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6065218Z               "line": 105
2026-06-16T08:24:18.6065299Z             },
2026-06-16T08:24:18.6065380Z             {
2026-06-16T08:24:18.6065508Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6065595Z               "line": 85
2026-06-16T08:24:18.6065679Z             },
2026-06-16T08:24:18.6065760Z             {
2026-06-16T08:24:18.6065886Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6065971Z               "line": 250
2026-06-16T08:24:18.6066057Z             },
2026-06-16T08:24:18.6066148Z             {
2026-06-16T08:24:18.6066272Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6066365Z               "line": 314
2026-06-16T08:24:18.6066450Z             },
2026-06-16T08:24:18.6066532Z             {
2026-06-16T08:24:18.6066659Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6066735Z               "line": 715
2026-06-16T08:24:18.6066812Z             },
2026-06-16T08:24:18.6066888Z             {
2026-06-16T08:24:18.6067002Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.6067092Z               "line": 101
2026-06-16T08:24:18.6067250Z             },
2026-06-16T08:24:18.6067340Z             {
2026-06-16T08:24:18.6067456Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6067551Z               "line": 193
2026-06-16T08:24:18.6067636Z             }
2026-06-16T08:24:18.6067717Z           ]
2026-06-16T08:24:18.6067879Z         },
2026-06-16T08:24:18.6067960Z         "int": {
2026-06-16T08:24:18.6068065Z           "complete": false,
2026-06-16T08:24:18.6068143Z           "evidence": []
2026-06-16T08:24:18.6068227Z         },
2026-06-16T08:24:18.6068303Z         "unit": {
2026-06-16T08:24:18.6068405Z           "complete": true,
2026-06-16T08:24:18.6068495Z           "evidence": [
2026-06-16T08:24:18.6068570Z             {
2026-06-16T08:24:18.6068705Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6068787Z               "line": 957
2026-06-16T08:24:18.6068866Z             },
2026-06-16T08:24:18.6069022Z             {
2026-06-16T08:24:18.6069146Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T08:24:18.6069240Z               "line": 462
2026-06-16T08:24:18.6069320Z             }
2026-06-16T08:24:18.6069402Z           ]
2026-06-16T08:24:18.6069469Z         }
2026-06-16T08:24:18.6069559Z       }
2026-06-16T08:24:18.6069635Z     },
2026-06-16T08:24:18.6069717Z     {
2026-06-16T08:24:18.6069812Z       "id": "REQ-MESH-6",
2026-06-16T08:24:18.6071057Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-16T08:24:18.6071161Z       "requiredStages": [
2026-06-16T08:24:18.6071252Z         "impl",
2026-06-16T08:24:18.6071325Z         "unit"
2026-06-16T08:24:18.6071409Z       ],
2026-06-16T08:24:18.6071485Z       "stages": {
2026-06-16T08:24:18.6071577Z         "doc": {
2026-06-16T08:24:18.6071673Z           "complete": false,
2026-06-16T08:24:18.6071766Z           "evidence": []
2026-06-16T08:24:18.6071842Z         },
2026-06-16T08:24:18.6071932Z         "impl": {
2026-06-16T08:24:18.6072029Z           "complete": true,
2026-06-16T08:24:18.6072114Z           "evidence": [
2026-06-16T08:24:18.6072204Z             {
2026-06-16T08:24:18.6072305Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6072406Z               "line": 3867
2026-06-16T08:24:18.6072490Z             }
2026-06-16T08:24:18.6072577Z           ]
2026-06-16T08:24:18.6072658Z         },
2026-06-16T08:24:18.6072739Z         "int": {
2026-06-16T08:24:18.6072838Z           "complete": false,
2026-06-16T08:24:18.6072916Z           "evidence": []
2026-06-16T08:24:18.6073001Z         },
2026-06-16T08:24:18.6073078Z         "unit": {
2026-06-16T08:24:18.6073177Z           "complete": true,
2026-06-16T08:24:18.6073274Z           "evidence": [
2026-06-16T08:24:18.6073359Z             {
2026-06-16T08:24:18.6073468Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6073556Z               "line": 9411
2026-06-16T08:24:18.6073650Z             },
2026-06-16T08:24:18.6073730Z             {
2026-06-16T08:24:18.6073831Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6073927Z               "line": 9438
2026-06-16T08:24:18.6074007Z             },
2026-06-16T08:24:18.6074092Z             {
2026-06-16T08:24:18.6074192Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6074277Z               "line": 9462
2026-06-16T08:24:18.6074362Z             }
2026-06-16T08:24:18.6074447Z           ]
2026-06-16T08:24:18.6074524Z         }
2026-06-16T08:24:18.6074605Z       }
2026-06-16T08:24:18.6074686Z     },
2026-06-16T08:24:18.6074766Z     {
2026-06-16T08:24:18.6074867Z       "id": "REQ-MIGRATE-1",
2026-06-16T08:24:18.6075038Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-16T08:24:18.6075253Z       "requiredStages": [],
2026-06-16T08:24:18.6075344Z       "stages": {
2026-06-16T08:24:18.6075425Z         "doc": {
2026-06-16T08:24:18.6075526Z           "complete": false,
2026-06-16T08:24:18.6075616Z           "evidence": []
2026-06-16T08:24:18.6075691Z         },
2026-06-16T08:24:18.6075869Z         "impl": {
2026-06-16T08:24:18.6075968Z           "complete": false,
2026-06-16T08:24:18.6076064Z           "evidence": []
2026-06-16T08:24:18.6076150Z         },
2026-06-16T08:24:18.6076235Z         "int": {
2026-06-16T08:24:18.6076325Z           "complete": false,
2026-06-16T08:24:18.6076423Z           "evidence": []
2026-06-16T08:24:18.6076503Z         },
2026-06-16T08:24:18.6076597Z         "unit": {
2026-06-16T08:24:18.6076684Z           "complete": false,
2026-06-16T08:24:18.6076770Z           "evidence": []
2026-06-16T08:24:18.6076856Z         }
2026-06-16T08:24:18.6076935Z       }
2026-06-16T08:24:18.6077016Z     },
2026-06-16T08:24:18.6077092Z     {
2026-06-16T08:24:18.6077191Z       "id": "REQ-MSG-1",
2026-06-16T08:24:18.6077643Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-16T08:24:18.6077735Z       "requiredStages": [
2026-06-16T08:24:18.6077830Z         "impl",
2026-06-16T08:24:18.6077914Z         "unit",
2026-06-16T08:24:18.6077996Z         "int"
2026-06-16T08:24:18.6078088Z       ],
2026-06-16T08:24:18.6078178Z       "stages": {
2026-06-16T08:24:18.6078253Z         "doc": {
2026-06-16T08:24:18.6078350Z           "complete": false,
2026-06-16T08:24:18.6078440Z           "evidence": []
2026-06-16T08:24:18.6078512Z         },
2026-06-16T08:24:18.6078592Z         "impl": {
2026-06-16T08:24:18.6078684Z           "complete": true,
2026-06-16T08:24:18.6078769Z           "evidence": [
2026-06-16T08:24:18.6078854Z             {
2026-06-16T08:24:18.6079056Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6079149Z               "line": 28
2026-06-16T08:24:18.6079231Z             },
2026-06-16T08:24:18.6079308Z             {
2026-06-16T08:24:18.6079436Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6079521Z               "line": 94
2026-06-16T08:24:18.6079602Z             },
2026-06-16T08:24:18.6079683Z             {
2026-06-16T08:24:18.6079795Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6079876Z               "line": 127
2026-06-16T08:24:18.6079962Z             },
2026-06-16T08:24:18.6080039Z             {
2026-06-16T08:24:18.6080152Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6080243Z               "line": 149
2026-06-16T08:24:18.6080320Z             },
2026-06-16T08:24:18.6080406Z             {
2026-06-16T08:24:18.6080505Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6080607Z               "line": 174
2026-06-16T08:24:18.6080692Z             },
2026-06-16T08:24:18.6080772Z             {
2026-06-16T08:24:18.6080883Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6080964Z               "line": 18
2026-06-16T08:24:18.6081059Z             },
2026-06-16T08:24:18.6081135Z             {
2026-06-16T08:24:18.6081236Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.6081326Z               "line": 13
2026-06-16T08:24:18.6081407Z             },
2026-06-16T08:24:18.6081497Z             {
2026-06-16T08:24:18.6081594Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.6081692Z               "line": 62
2026-06-16T08:24:18.6081769Z             },
2026-06-16T08:24:18.6081847Z             {
2026-06-16T08:24:18.6081955Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6082041Z               "line": 13
2026-06-16T08:24:18.6082127Z             }
2026-06-16T08:24:18.6082205Z           ]
2026-06-16T08:24:18.6082289Z         },
2026-06-16T08:24:18.6082369Z         "int": {
2026-06-16T08:24:18.6082464Z           "complete": true,
2026-06-16T08:24:18.6082684Z           "evidence": [
2026-06-16T08:24:18.6082769Z             {
2026-06-16T08:24:18.6082918Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T08:24:18.6083003Z               "line": 9
2026-06-16T08:24:18.6083088Z             },
2026-06-16T08:24:18.6083261Z             {
2026-06-16T08:24:18.6083398Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T08:24:18.6083486Z               "line": 56
2026-06-16T08:24:18.6083566Z             },
2026-06-16T08:24:18.6083647Z             {
2026-06-16T08:24:18.6083781Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T08:24:18.6083862Z               "line": 113
2026-06-16T08:24:18.6083947Z             }
2026-06-16T08:24:18.6084028Z           ]
2026-06-16T08:24:18.6084116Z         },
2026-06-16T08:24:18.6084196Z         "unit": {
2026-06-16T08:24:18.6084300Z           "complete": true,
2026-06-16T08:24:18.6084381Z           "evidence": [
2026-06-16T08:24:18.6084468Z             {
2026-06-16T08:24:18.6084581Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6084666Z               "line": 203
2026-06-16T08:24:18.6084762Z             },
2026-06-16T08:24:18.6084842Z             {
2026-06-16T08:24:18.6084964Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6085060Z               "line": 232
2026-06-16T08:24:18.6085142Z             },
2026-06-16T08:24:18.6085227Z             {
2026-06-16T08:24:18.6085341Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6085437Z               "line": 277
2026-06-16T08:24:18.6085513Z             },
2026-06-16T08:24:18.6085598Z             {
2026-06-16T08:24:18.6085704Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6085795Z               "line": 300
2026-06-16T08:24:18.6085875Z             },
2026-06-16T08:24:18.6085955Z             {
2026-06-16T08:24:18.6086071Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T08:24:18.6086166Z               "line": 325
2026-06-16T08:24:18.6086256Z             },
2026-06-16T08:24:18.6086333Z             {
2026-06-16T08:24:18.6086462Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6086557Z               "line": 204
2026-06-16T08:24:18.6086638Z             },
2026-06-16T08:24:18.6086720Z             {
2026-06-16T08:24:18.6086828Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6086924Z               "line": 237
2026-06-16T08:24:18.6087002Z             },
2026-06-16T08:24:18.6087082Z             {
2026-06-16T08:24:18.6087201Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6087283Z               "line": 251
2026-06-16T08:24:18.6087369Z             },
2026-06-16T08:24:18.6087453Z             {
2026-06-16T08:24:18.6087571Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6087648Z               "line": 263
2026-06-16T08:24:18.6087728Z             },
2026-06-16T08:24:18.6087817Z             {
2026-06-16T08:24:18.6087932Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.6088018Z               "line": 162
2026-06-16T08:24:18.6088099Z             },
2026-06-16T08:24:18.6088184Z             {
2026-06-16T08:24:18.6088285Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T08:24:18.6088380Z               "line": 242
2026-06-16T08:24:18.6088465Z             },
2026-06-16T08:24:18.6088551Z             {
2026-06-16T08:24:18.6088662Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6088748Z               "line": 134
2026-06-16T08:24:18.6088832Z             },
2026-06-16T08:24:18.6088915Z             {
2026-06-16T08:24:18.6089105Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6089195Z               "line": 153
2026-06-16T08:24:18.6089273Z             }
2026-06-16T08:24:18.6089352Z           ]
2026-06-16T08:24:18.6089433Z         }
2026-06-16T08:24:18.6089520Z       }
2026-06-16T08:24:18.6089606Z     },
2026-06-16T08:24:18.6089796Z     {
2026-06-16T08:24:18.6089888Z       "id": "REQ-MSG-2",
2026-06-16T08:24:18.6090162Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-16T08:24:18.6090262Z       "requiredStages": [
2026-06-16T08:24:18.6090431Z         "impl",
2026-06-16T08:24:18.6090517Z         "unit"
2026-06-16T08:24:18.6090594Z       ],
2026-06-16T08:24:18.6090679Z       "stages": {
2026-06-16T08:24:18.6090765Z         "doc": {
2026-06-16T08:24:18.6093978Z           "complete": false,
2026-06-16T08:24:18.6094102Z           "evidence": []
2026-06-16T08:24:18.6094183Z         },
2026-06-16T08:24:18.6094274Z         "impl": {
2026-06-16T08:24:18.6094365Z           "complete": true,
2026-06-16T08:24:18.6094460Z           "evidence": [
2026-06-16T08:24:18.6094550Z             {
2026-06-16T08:24:18.6094661Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6094756Z               "line": 11
2026-06-16T08:24:18.6094836Z             },
2026-06-16T08:24:18.6094932Z             {
2026-06-16T08:24:18.6095042Z               "path": "crates/spt/src/main.rs",
2026-06-16T08:24:18.6095127Z               "line": 8
2026-06-16T08:24:18.6095207Z             }
2026-06-16T08:24:18.6095288Z           ]
2026-06-16T08:24:18.6095369Z         },
2026-06-16T08:24:18.6095453Z         "int": {
2026-06-16T08:24:18.6095552Z           "complete": false,
2026-06-16T08:24:18.6095639Z           "evidence": []
2026-06-16T08:24:18.6095716Z         },
2026-06-16T08:24:18.6095796Z         "unit": {
2026-06-16T08:24:18.6095886Z           "complete": true,
2026-06-16T08:24:18.6095983Z           "evidence": [
2026-06-16T08:24:18.6096064Z             {
2026-06-16T08:24:18.6096159Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6096249Z               "line": 6687
2026-06-16T08:24:18.6096341Z             },
2026-06-16T08:24:18.6096421Z             {
2026-06-16T08:24:18.6096525Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6096617Z               "line": 6729
2026-06-16T08:24:18.6096708Z             },
2026-06-16T08:24:18.6096793Z             {
2026-06-16T08:24:18.6096893Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6096984Z               "line": 6778
2026-06-16T08:24:18.6097065Z             },
2026-06-16T08:24:18.6097145Z             {
2026-06-16T08:24:18.6097247Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6097332Z               "line": 6801
2026-06-16T08:24:18.6097413Z             },
2026-06-16T08:24:18.6097499Z             {
2026-06-16T08:24:18.6097599Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6097694Z               "line": 8633
2026-06-16T08:24:18.6097775Z             },
2026-06-16T08:24:18.6097857Z             {
2026-06-16T08:24:18.6097966Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6098046Z               "line": 8642
2026-06-16T08:24:18.6098122Z             },
2026-06-16T08:24:18.6098204Z             {
2026-06-16T08:24:18.6098307Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6098387Z               "line": 8656
2026-06-16T08:24:18.6098472Z             }
2026-06-16T08:24:18.6098544Z           ]
2026-06-16T08:24:18.6098631Z         }
2026-06-16T08:24:18.6098715Z       }
2026-06-16T08:24:18.6098797Z     },
2026-06-16T08:24:18.6098879Z     {
2026-06-16T08:24:18.6099044Z       "id": "REQ-MSG-3",
2026-06-16T08:24:18.6099426Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-16T08:24:18.6099522Z       "requiredStages": [
2026-06-16T08:24:18.6099602Z         "impl",
2026-06-16T08:24:18.6099688Z         "unit",
2026-06-16T08:24:18.6099770Z         "int"
2026-06-16T08:24:18.6099847Z       ],
2026-06-16T08:24:18.6099931Z       "stages": {
2026-06-16T08:24:18.6100017Z         "doc": {
2026-06-16T08:24:18.6100110Z           "complete": false,
2026-06-16T08:24:18.6100190Z           "evidence": []
2026-06-16T08:24:18.6100269Z         },
2026-06-16T08:24:18.6100505Z         "impl": {
2026-06-16T08:24:18.6100603Z           "complete": true,
2026-06-16T08:24:18.6100689Z           "evidence": [
2026-06-16T08:24:18.6100770Z             {
2026-06-16T08:24:18.6100888Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T08:24:18.6101073Z               "line": 19
2026-06-16T08:24:18.6101154Z             },
2026-06-16T08:24:18.6101240Z             {
2026-06-16T08:24:18.6101354Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6101441Z               "line": 21
2026-06-16T08:24:18.6101536Z             },
2026-06-16T08:24:18.6101611Z             {
2026-06-16T08:24:18.6101717Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6101798Z               "line": 48
2026-06-16T08:24:18.6101884Z             },
2026-06-16T08:24:18.6101969Z             {
2026-06-16T08:24:18.6102070Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6102155Z               "line": 151
2026-06-16T08:24:18.6102240Z             }
2026-06-16T08:24:18.6102332Z           ]
2026-06-16T08:24:18.6102414Z         },
2026-06-16T08:24:18.6102494Z         "int": {
2026-06-16T08:24:18.6102589Z           "complete": true,
2026-06-16T08:24:18.6102671Z           "evidence": [
2026-06-16T08:24:18.6102752Z             {
2026-06-16T08:24:18.6102889Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T08:24:18.6102977Z               "line": 10
2026-06-16T08:24:18.6103058Z             },
2026-06-16T08:24:18.6103137Z             {
2026-06-16T08:24:18.6103262Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T08:24:18.6103349Z               "line": 56
2026-06-16T08:24:18.6103428Z             }
2026-06-16T08:24:18.6103513Z           ]
2026-06-16T08:24:18.6103594Z         },
2026-06-16T08:24:18.6103681Z         "unit": {
2026-06-16T08:24:18.6103766Z           "complete": true,
2026-06-16T08:24:18.6103856Z           "evidence": [
2026-06-16T08:24:18.6103933Z             {
2026-06-16T08:24:18.6104033Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6104118Z               "line": 205
2026-06-16T08:24:18.6104199Z             },
2026-06-16T08:24:18.6104282Z             {
2026-06-16T08:24:18.6104381Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6104471Z               "line": 224
2026-06-16T08:24:18.6104553Z             },
2026-06-16T08:24:18.6104635Z             {
2026-06-16T08:24:18.6104739Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T08:24:18.6104834Z               "line": 247
2026-06-16T08:24:18.6104916Z             }
2026-06-16T08:24:18.6104996Z           ]
2026-06-16T08:24:18.6105073Z         }
2026-06-16T08:24:18.6105153Z       }
2026-06-16T08:24:18.6105240Z     },
2026-06-16T08:24:18.6105311Z     {
2026-06-16T08:24:18.6105411Z       "id": "REQ-MSG-4",
2026-06-16T08:24:18.6106319Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-16T08:24:18.6106418Z       "requiredStages": [
2026-06-16T08:24:18.6106509Z         "impl",
2026-06-16T08:24:18.6106591Z         "unit",
2026-06-16T08:24:18.6106685Z         "int"
2026-06-16T08:24:18.6106766Z       ],
2026-06-16T08:24:18.6106858Z       "stages": {
2026-06-16T08:24:18.6106943Z         "doc": {
2026-06-16T08:24:18.6107033Z           "complete": false,
2026-06-16T08:24:18.6107129Z           "evidence": []
2026-06-16T08:24:18.6107210Z         },
2026-06-16T08:24:18.6107296Z         "impl": {
2026-06-16T08:24:18.6107381Z           "complete": true,
2026-06-16T08:24:18.6107463Z           "evidence": [
2026-06-16T08:24:18.6107539Z             {
2026-06-16T08:24:18.6107644Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6107729Z               "line": 19
2026-06-16T08:24:18.6107812Z             },
2026-06-16T08:24:18.6107896Z             {
2026-06-16T08:24:18.6108074Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6108155Z               "line": 46
2026-06-16T08:24:18.6108235Z             },
2026-06-16T08:24:18.6108312Z             {
2026-06-16T08:24:18.6108432Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6108588Z               "line": 407
2026-06-16T08:24:18.6108667Z             },
2026-06-16T08:24:18.6108744Z             {
2026-06-16T08:24:18.6108848Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6108933Z               "line": 2838
2026-06-16T08:24:18.6109086Z             }
2026-06-16T08:24:18.6109167Z           ]
2026-06-16T08:24:18.6109248Z         },
2026-06-16T08:24:18.6109328Z         "int": {
2026-06-16T08:24:18.6109420Z           "complete": true,
2026-06-16T08:24:18.6109505Z           "evidence": [
2026-06-16T08:24:18.6109586Z             {
2026-06-16T08:24:18.6109716Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T08:24:18.6109820Z               "line": 98
2026-06-16T08:24:18.6109900Z             },
2026-06-16T08:24:18.6109987Z             {
2026-06-16T08:24:18.6110102Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T08:24:18.6110201Z               "line": 128
2026-06-16T08:24:18.6110287Z             }
2026-06-16T08:24:18.6110364Z           ]
2026-06-16T08:24:18.6110449Z         },
2026-06-16T08:24:18.6110525Z         "unit": {
2026-06-16T08:24:18.6110621Z           "complete": true,
2026-06-16T08:24:18.6110702Z           "evidence": [
2026-06-16T08:24:18.6110783Z             {
2026-06-16T08:24:18.6110892Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6110975Z               "line": 68
2026-06-16T08:24:18.6111060Z             },
2026-06-16T08:24:18.6111145Z             {
2026-06-16T08:24:18.6111244Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6111335Z               "line": 79
2026-06-16T08:24:18.6111415Z             },
2026-06-16T08:24:18.6111495Z             {
2026-06-16T08:24:18.6111599Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6111676Z               "line": 90
2026-06-16T08:24:18.6111758Z             },
2026-06-16T08:24:18.6111837Z             {
2026-06-16T08:24:18.6111933Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6112025Z               "line": 151
2026-06-16T08:24:18.6112110Z             }
2026-06-16T08:24:18.6112185Z           ]
2026-06-16T08:24:18.6112268Z         }
2026-06-16T08:24:18.6112344Z       }
2026-06-16T08:24:18.6112430Z     },
2026-06-16T08:24:18.6112505Z     {
2026-06-16T08:24:18.6112597Z       "id": "REQ-MSG-5",
2026-06-16T08:24:18.6113326Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-16T08:24:18.6113412Z       "requiredStages": [
2026-06-16T08:24:18.6113502Z         "doc",
2026-06-16T08:24:18.6113580Z         "impl",
2026-06-16T08:24:18.6113664Z         "unit"
2026-06-16T08:24:18.6113750Z       ],
2026-06-16T08:24:18.6113827Z       "stages": {
2026-06-16T08:24:18.6113923Z         "doc": {
2026-06-16T08:24:18.6114017Z           "complete": true,
2026-06-16T08:24:18.6114097Z           "evidence": [
2026-06-16T08:24:18.6114178Z             {
2026-06-16T08:24:18.6114274Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6114359Z               "line": 212
2026-06-16T08:24:18.6114440Z             }
2026-06-16T08:24:18.6114517Z           ]
2026-06-16T08:24:18.6114593Z         },
2026-06-16T08:24:18.6114684Z         "impl": {
2026-06-16T08:24:18.6114769Z           "complete": true,
2026-06-16T08:24:18.6114856Z           "evidence": [
2026-06-16T08:24:18.6114941Z             {
2026-06-16T08:24:18.6115055Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.6115142Z               "line": 60
2026-06-16T08:24:18.6115341Z             },
2026-06-16T08:24:18.6115418Z             {
2026-06-16T08:24:18.6115524Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6115604Z               "line": 126
2026-06-16T08:24:18.6115689Z             },
2026-06-16T08:24:18.6115772Z             {
2026-06-16T08:24:18.6115980Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6116066Z               "line": 135
2026-06-16T08:24:18.6116149Z             },
2026-06-16T08:24:18.6116228Z             {
2026-06-16T08:24:18.6116332Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6116427Z               "line": 149
2026-06-16T08:24:18.6116504Z             },
2026-06-16T08:24:18.6116587Z             {
2026-06-16T08:24:18.6116696Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6116788Z               "line": 178
2026-06-16T08:24:18.6116874Z             },
2026-06-16T08:24:18.6116954Z             {
2026-06-16T08:24:18.6117060Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6117156Z               "line": 2584
2026-06-16T08:24:18.6117231Z             }
2026-06-16T08:24:18.6117307Z           ]
2026-06-16T08:24:18.6117394Z         },
2026-06-16T08:24:18.6117479Z         "int": {
2026-06-16T08:24:18.6117569Z           "complete": true,
2026-06-16T08:24:18.6117660Z           "evidence": [
2026-06-16T08:24:18.6117743Z             {
2026-06-16T08:24:18.6117870Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-16T08:24:18.6117951Z               "line": 19
2026-06-16T08:24:18.6118043Z             }
2026-06-16T08:24:18.6118123Z           ]
2026-06-16T08:24:18.6118194Z         },
2026-06-16T08:24:18.6118275Z         "unit": {
2026-06-16T08:24:18.6118358Z           "complete": true,
2026-06-16T08:24:18.6118452Z           "evidence": [
2026-06-16T08:24:18.6118533Z             {
2026-06-16T08:24:18.6118639Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.6118729Z               "line": 192
2026-06-16T08:24:18.6118814Z             },
2026-06-16T08:24:18.6118900Z             {
2026-06-16T08:24:18.6119096Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T08:24:18.6119190Z               "line": 154
2026-06-16T08:24:18.6119266Z             },
2026-06-16T08:24:18.6119362Z             {
2026-06-16T08:24:18.6119474Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6119554Z               "line": 122
2026-06-16T08:24:18.6119636Z             },
2026-06-16T08:24:18.6119708Z             {
2026-06-16T08:24:18.6119826Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6119903Z               "line": 452
2026-06-16T08:24:18.6119985Z             },
2026-06-16T08:24:18.6120066Z             {
2026-06-16T08:24:18.6120170Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6120251Z               "line": 501
2026-06-16T08:24:18.6120337Z             },
2026-06-16T08:24:18.6120423Z             {
2026-06-16T08:24:18.6120522Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6120610Z               "line": 517
2026-06-16T08:24:18.6120685Z             },
2026-06-16T08:24:18.6120757Z             {
2026-06-16T08:24:18.6120861Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6120953Z               "line": 536
2026-06-16T08:24:18.6121028Z             },
2026-06-16T08:24:18.6121109Z             {
2026-06-16T08:24:18.6121205Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6121306Z               "line": 6630
2026-06-16T08:24:18.6121381Z             }
2026-06-16T08:24:18.6121467Z           ]
2026-06-16T08:24:18.6121544Z         }
2026-06-16T08:24:18.6121625Z       }
2026-06-16T08:24:18.6121700Z     },
2026-06-16T08:24:18.6121780Z     {
2026-06-16T08:24:18.6121876Z       "id": "REQ-MSG-6",
2026-06-16T08:24:18.6123452Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-16T08:24:18.6123738Z       "requiredStages": [
2026-06-16T08:24:18.6123829Z         "doc",
2026-06-16T08:24:18.6123915Z         "impl",
2026-06-16T08:24:18.6123991Z         "unit"
2026-06-16T08:24:18.6124063Z       ],
2026-06-16T08:24:18.6124144Z       "stages": {
2026-06-16T08:24:18.6124220Z         "doc": {
2026-06-16T08:24:18.6124306Z           "complete": true,
2026-06-16T08:24:18.6124382Z           "evidence": [
2026-06-16T08:24:18.6124469Z             {
2026-06-16T08:24:18.6124563Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6124648Z               "line": 215
2026-06-16T08:24:18.6124733Z             }
2026-06-16T08:24:18.6124816Z           ]
2026-06-16T08:24:18.6124901Z         },
2026-06-16T08:24:18.6124981Z         "impl": {
2026-06-16T08:24:18.6134880Z           "complete": true,
2026-06-16T08:24:18.6134991Z           "evidence": [
2026-06-16T08:24:18.6135071Z             {
2026-06-16T08:24:18.6135217Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6135323Z               "line": 177
2026-06-16T08:24:18.6135414Z             },
2026-06-16T08:24:18.6135494Z             {
2026-06-16T08:24:18.6135628Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6135728Z               "line": 422
2026-06-16T08:24:18.6135818Z             },
2026-06-16T08:24:18.6135899Z             {
2026-06-16T08:24:18.6136024Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6136124Z               "line": 445
2026-06-16T08:24:18.6136214Z             },
2026-06-16T08:24:18.6136296Z             {
2026-06-16T08:24:18.6136414Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.6136514Z               "line": 89
2026-06-16T08:24:18.6136596Z             },
2026-06-16T08:24:18.6136677Z             {
2026-06-16T08:24:18.6136800Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6136887Z               "line": 155
2026-06-16T08:24:18.6136968Z             }
2026-06-16T08:24:18.6137053Z           ]
2026-06-16T08:24:18.6137138Z         },
2026-06-16T08:24:18.6137216Z         "int": {
2026-06-16T08:24:18.6137307Z           "complete": false,
2026-06-16T08:24:18.6137405Z           "evidence": []
2026-06-16T08:24:18.6137486Z         },
2026-06-16T08:24:18.6137567Z         "unit": {
2026-06-16T08:24:18.6137662Z           "complete": true,
2026-06-16T08:24:18.6137741Z           "evidence": [
2026-06-16T08:24:18.6137826Z             {
2026-06-16T08:24:18.6137951Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6138046Z               "line": 1639
2026-06-16T08:24:18.6138132Z             },
2026-06-16T08:24:18.6138213Z             {
2026-06-16T08:24:18.6138333Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.6138408Z               "line": 219
2026-06-16T08:24:18.6138490Z             }
2026-06-16T08:24:18.6138567Z           ]
2026-06-16T08:24:18.6138643Z         }
2026-06-16T08:24:18.6138737Z       }
2026-06-16T08:24:18.6138810Z     },
2026-06-16T08:24:18.6138891Z     {
2026-06-16T08:24:18.6139066Z       "id": "REQ-MSG-ENVELOPE",
2026-06-16T08:24:18.6142900Z       "title": "The <EVENT type=\"msg\" from=…>body</EVENT> envelope (spt-proto::event, the ADR-0001 grammar) is the SOLE canonical arriving-message format at EVERY harness arriving-message surface on an AGENT perch — api listen AND api poll/worker-poll, byte-identical (reverses REQ-MSG-4's 'hook drains keep the raw frame by contract'). SCOPE CARVE-OUT: the shell-command relay (api poll <shell-id> --link, cmd_poll_shell) is a distinct internal transport carrying RAW MAC'd stamped frames the shell child consumes verbatim — NOT an arriving-message surface, deliberately EXEMPT from <EVENT> composition (notify_shell_e2e guards this boundary). __REPLY_TO__ — mis-elevated during the clean-room port to a fake ADR-0001 'stable wire format' (spt-msg/wire.rs, lib.rs) — is REMOVED entirely (spool format_row, the spt-msg TCP frame, emit parse_frame); (from, body) carried structurally, <EVENT> composed once at the delivery boundary. No legacy sister-interop (spt-core never required it). Reply-correlation rebinds onto the structural from / <EVENT from=…> attribute (ADR-0009 access-gate + ADR-0012 Psyche/spt-live reply-target). Self-delimiting by construction → finding F-002 (non-self-delimiting multi-message poll) dissolves. ADR-0020.",
2026-06-16T08:24:18.6143285Z       "requiredStages": [
2026-06-16T08:24:18.6143376Z         "doc",
2026-06-16T08:24:18.6143466Z         "impl",
2026-06-16T08:24:18.6143575Z         "unit",
2026-06-16T08:24:18.6143653Z         "int"
2026-06-16T08:24:18.6143729Z       ],
2026-06-16T08:24:18.6143814Z       "stages": {
2026-06-16T08:24:18.6143899Z         "doc": {
2026-06-16T08:24:18.6144000Z           "complete": true,
2026-06-16T08:24:18.6144086Z           "evidence": [
2026-06-16T08:24:18.6144176Z             {
2026-06-16T08:24:18.6144415Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-16T08:24:18.6144510Z               "line": 47
2026-06-16T08:24:18.6144587Z             }
2026-06-16T08:24:18.6144672Z           ]
2026-06-16T08:24:18.6144753Z         },
2026-06-16T08:24:18.6144834Z         "impl": {
2026-06-16T08:24:18.6144931Z           "complete": true,
2026-06-16T08:24:18.6145025Z           "evidence": [
2026-06-16T08:24:18.6145106Z             {
2026-06-16T08:24:18.6145227Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6145316Z               "line": 20
2026-06-16T08:24:18.6145401Z             },
2026-06-16T08:24:18.6145478Z             {
2026-06-16T08:24:18.6145580Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6145687Z               "line": 33
2026-06-16T08:24:18.6145768Z             },
2026-06-16T08:24:18.6145849Z             {
2026-06-16T08:24:18.6145950Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6146035Z               "line": 47
2026-06-16T08:24:18.6146120Z             },
2026-06-16T08:24:18.6146212Z             {
2026-06-16T08:24:18.6146327Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6146411Z               "line": 58
2026-06-16T08:24:18.6146508Z             },
2026-06-16T08:24:18.6146593Z             {
2026-06-16T08:24:18.6146707Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6146793Z               "line": 14
2026-06-16T08:24:18.6146880Z             },
2026-06-16T08:24:18.6146969Z             {
2026-06-16T08:24:18.6147069Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6147162Z               "line": 27
2026-06-16T08:24:18.6147242Z             },
2026-06-16T08:24:18.6147337Z             {
2026-06-16T08:24:18.6147447Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6147542Z               "line": 40
2026-06-16T08:24:18.6147632Z             },
2026-06-16T08:24:18.6147713Z             {
2026-06-16T08:24:18.6147834Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.6147918Z               "line": 92
2026-06-16T08:24:18.6147998Z             },
2026-06-16T08:24:18.6148079Z             {
2026-06-16T08:24:18.6148203Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6148292Z               "line": 143
2026-06-16T08:24:18.6148368Z             },
2026-06-16T08:24:18.6148449Z             {
2026-06-16T08:24:18.6148565Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6148654Z               "line": 216
2026-06-16T08:24:18.6148730Z             },
2026-06-16T08:24:18.6148813Z             {
2026-06-16T08:24:18.6148931Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6149108Z               "line": 408
2026-06-16T08:24:18.6149297Z             },
2026-06-16T08:24:18.6149375Z             {
2026-06-16T08:24:18.6149527Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T08:24:18.6149617Z               "line": 78
2026-06-16T08:24:18.6149699Z             },
2026-06-16T08:24:18.6149899Z             {
2026-06-16T08:24:18.6150009Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6150105Z               "line": 2839
2026-06-16T08:24:18.6150184Z             }
2026-06-16T08:24:18.6150275Z           ]
2026-06-16T08:24:18.6150353Z         },
2026-06-16T08:24:18.6150434Z         "int": {
2026-06-16T08:24:18.6150528Z           "complete": true,
2026-06-16T08:24:18.6150615Z           "evidence": [
2026-06-16T08:24:18.6150696Z             {
2026-06-16T08:24:18.6150823Z               "path": "crates/spt/tests/poll_envelope_e2e.rs",
2026-06-16T08:24:18.6150908Z               "line": 15
2026-06-16T08:24:18.6150985Z             }
2026-06-16T08:24:18.6151056Z           ]
2026-06-16T08:24:18.6151140Z         },
2026-06-16T08:24:18.6151221Z         "unit": {
2026-06-16T08:24:18.6151321Z           "complete": true,
2026-06-16T08:24:18.6151412Z           "evidence": [
2026-06-16T08:24:18.6151502Z             {
2026-06-16T08:24:18.6151617Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6151708Z               "line": 102
2026-06-16T08:24:18.6151784Z             },
2026-06-16T08:24:18.6151864Z             {
2026-06-16T08:24:18.6151975Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T08:24:18.6152060Z               "line": 137
2026-06-16T08:24:18.6152141Z             },
2026-06-16T08:24:18.6152227Z             {
2026-06-16T08:24:18.6152333Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6152418Z               "line": 98
2026-06-16T08:24:18.6152494Z             },
2026-06-16T08:24:18.6152585Z             {
2026-06-16T08:24:18.6152685Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6152780Z               "line": 106
2026-06-16T08:24:18.6152871Z             },
2026-06-16T08:24:18.6152948Z             {
2026-06-16T08:24:18.6153051Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6153133Z               "line": 113
2026-06-16T08:24:18.6153220Z             },
2026-06-16T08:24:18.6153306Z             {
2026-06-16T08:24:18.6153418Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T08:24:18.6153508Z               "line": 122
2026-06-16T08:24:18.6153590Z             }
2026-06-16T08:24:18.6153674Z           ]
2026-06-16T08:24:18.6153754Z         }
2026-06-16T08:24:18.6153840Z       }
2026-06-16T08:24:18.6153922Z     },
2026-06-16T08:24:18.6154003Z     {
2026-06-16T08:24:18.6154102Z       "id": "REQ-NET-1",
2026-06-16T08:24:18.6154284Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-16T08:24:18.6154388Z       "requiredStages": [
2026-06-16T08:24:18.6154469Z         "impl",
2026-06-16T08:24:18.6154561Z         "unit",
2026-06-16T08:24:18.6154637Z         "int"
2026-06-16T08:24:18.6154731Z       ],
2026-06-16T08:24:18.6154818Z       "stages": {
2026-06-16T08:24:18.6154899Z         "doc": {
2026-06-16T08:24:18.6154999Z           "complete": false,
2026-06-16T08:24:18.6155084Z           "evidence": []
2026-06-16T08:24:18.6155167Z         },
2026-06-16T08:24:18.6155247Z         "impl": {
2026-06-16T08:24:18.6155347Z           "complete": true,
2026-06-16T08:24:18.6155438Z           "evidence": [
2026-06-16T08:24:18.6155520Z             {
2026-06-16T08:24:18.6155638Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6155723Z               "line": 54
2026-06-16T08:24:18.6155801Z             },
2026-06-16T08:24:18.6155886Z             {
2026-06-16T08:24:18.6156015Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6156111Z               "line": 594
2026-06-16T08:24:18.6156191Z             },
2026-06-16T08:24:18.6156281Z             {
2026-06-16T08:24:18.6156390Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T08:24:18.6156567Z               "line": 130
2026-06-16T08:24:18.6156652Z             },
2026-06-16T08:24:18.6156738Z             {
2026-06-16T08:24:18.6156872Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6156962Z               "line": 97
2026-06-16T08:24:18.6157120Z             },
2026-06-16T08:24:18.6157196Z             {
2026-06-16T08:24:18.6157319Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6157397Z               "line": 159
2026-06-16T08:24:18.6157487Z             },
2026-06-16T08:24:18.6157573Z             {
2026-06-16T08:24:18.6157687Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6157769Z               "line": 175
2026-06-16T08:24:18.6157849Z             },
2026-06-16T08:24:18.6157935Z             {
2026-06-16T08:24:18.6158037Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6158126Z               "line": 190
2026-06-16T08:24:18.6158206Z             },
2026-06-16T08:24:18.6158288Z             {
2026-06-16T08:24:18.6158408Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6158497Z               "line": 271
2026-06-16T08:24:18.6158573Z             },
2026-06-16T08:24:18.6158659Z             {
2026-06-16T08:24:18.6158777Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6158871Z               "line": 306
2026-06-16T08:24:18.6159024Z             },
2026-06-16T08:24:18.6159120Z             {
2026-06-16T08:24:18.6159233Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6159329Z               "line": 312
2026-06-16T08:24:18.6159415Z             },
2026-06-16T08:24:18.6159486Z             {
2026-06-16T08:24:18.6159605Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6159692Z               "line": 318
2026-06-16T08:24:18.6159777Z             },
2026-06-16T08:24:18.6159853Z             {
2026-06-16T08:24:18.6159968Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6160063Z               "line": 334
2026-06-16T08:24:18.6160144Z             },
2026-06-16T08:24:18.6160230Z             {
2026-06-16T08:24:18.6160340Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6160435Z               "line": 354
2026-06-16T08:24:18.6160520Z             },
2026-06-16T08:24:18.6160612Z             {
2026-06-16T08:24:18.6160730Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.6160816Z               "line": 35
2026-06-16T08:24:18.6160904Z             },
2026-06-16T08:24:18.6160984Z             {
2026-06-16T08:24:18.6161108Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.6161194Z               "line": 85
2026-06-16T08:24:18.6161313Z             },
2026-06-16T08:24:18.6161402Z             {
2026-06-16T08:24:18.6161521Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.6161616Z               "line": 138
2026-06-16T08:24:18.6161700Z             },
2026-06-16T08:24:18.6161790Z             {
2026-06-16T08:24:18.6161895Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6161987Z               "line": 2681
2026-06-16T08:24:18.6162076Z             },
2026-06-16T08:24:18.6162157Z             {
2026-06-16T08:24:18.6162273Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6162358Z               "line": 17
2026-06-16T08:24:18.6162439Z             }
2026-06-16T08:24:18.6162521Z           ]
2026-06-16T08:24:18.6162597Z         },
2026-06-16T08:24:18.6162687Z         "int": {
2026-06-16T08:24:18.6162768Z           "complete": true,
2026-06-16T08:24:18.6162855Z           "evidence": [
2026-06-16T08:24:18.6162935Z             {
2026-06-16T08:24:18.6163073Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6163150Z               "line": 341
2026-06-16T08:24:18.6163236Z             },
2026-06-16T08:24:18.6163321Z             {
2026-06-16T08:24:18.6163431Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6163640Z               "line": 651
2026-06-16T08:24:18.6163722Z             },
2026-06-16T08:24:18.6163799Z             {
2026-06-16T08:24:18.6163912Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6164107Z               "line": 949
2026-06-16T08:24:18.6164188Z             }
2026-06-16T08:24:18.6164271Z           ]
2026-06-16T08:24:18.6164352Z         },
2026-06-16T08:24:18.6164433Z         "unit": {
2026-06-16T08:24:18.6164535Z           "complete": true,
2026-06-16T08:24:18.6164615Z           "evidence": [
2026-06-16T08:24:18.6164695Z             {
2026-06-16T08:24:18.6164811Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6164901Z               "line": 651
2026-06-16T08:24:18.6164982Z             },
2026-06-16T08:24:18.6165102Z             {
2026-06-16T08:24:18.6165239Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6165334Z               "line": 686
2026-06-16T08:24:18.6165412Z             },
2026-06-16T08:24:18.6165492Z             {
2026-06-16T08:24:18.6165616Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6165698Z               "line": 936
2026-06-16T08:24:18.6165779Z             },
2026-06-16T08:24:18.6165869Z             {
2026-06-16T08:24:18.6165988Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T08:24:18.6166075Z               "line": 201
2026-06-16T08:24:18.6166169Z             },
2026-06-16T08:24:18.6166250Z             {
2026-06-16T08:24:18.6166376Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6166464Z               "line": 442
2026-06-16T08:24:18.6166551Z             },
2026-06-16T08:24:18.6166638Z             {
2026-06-16T08:24:18.6166756Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6166850Z               "line": 456
2026-06-16T08:24:18.6166930Z             },
2026-06-16T08:24:18.6167017Z             {
2026-06-16T08:24:18.6167141Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6167236Z               "line": 475
2026-06-16T08:24:18.6167322Z             },
2026-06-16T08:24:18.6167404Z             {
2026-06-16T08:24:18.6167522Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.6167613Z               "line": 120
2026-06-16T08:24:18.6167704Z             },
2026-06-16T08:24:18.6167785Z             {
2026-06-16T08:24:18.6167914Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T08:24:18.6167995Z               "line": 163
2026-06-16T08:24:18.6168076Z             },
2026-06-16T08:24:18.6168161Z             {
2026-06-16T08:24:18.6168277Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T08:24:18.6168367Z               "line": 530
2026-06-16T08:24:18.6168448Z             },
2026-06-16T08:24:18.6168528Z             {
2026-06-16T08:24:18.6168644Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6168728Z               "line": 616
2026-06-16T08:24:18.6168819Z             },
2026-06-16T08:24:18.6168896Z             {
2026-06-16T08:24:18.6169081Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6169171Z               "line": 1006
2026-06-16T08:24:18.6169257Z             }
2026-06-16T08:24:18.6169337Z           ]
2026-06-16T08:24:18.6169422Z         }
2026-06-16T08:24:18.6169507Z       }
2026-06-16T08:24:18.6169589Z     },
2026-06-16T08:24:18.6169666Z     {
2026-06-16T08:24:18.6169755Z       "id": "REQ-NET-2",
2026-06-16T08:24:18.6169942Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-16T08:24:18.6170046Z       "requiredStages": [
2026-06-16T08:24:18.6170122Z         "impl"
2026-06-16T08:24:18.6170205Z       ],
2026-06-16T08:24:18.6170285Z       "stages": {
2026-06-16T08:24:18.6170365Z         "doc": {
2026-06-16T08:24:18.6170461Z           "complete": false,
2026-06-16T08:24:18.6170552Z           "evidence": []
2026-06-16T08:24:18.6170633Z         },
2026-06-16T08:24:18.6170814Z         "impl": {
2026-06-16T08:24:18.6174190Z           "complete": true,
2026-06-16T08:24:18.6174292Z           "evidence": [
2026-06-16T08:24:18.6174388Z             {
2026-06-16T08:24:18.6174519Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.6174753Z               "line": 57
2026-06-16T08:24:18.6174832Z             },
2026-06-16T08:24:18.6174908Z             {
2026-06-16T08:24:18.6175047Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6175133Z               "line": 71
2026-06-16T08:24:18.6175222Z             },
2026-06-16T08:24:18.6175299Z             {
2026-06-16T08:24:18.6175418Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6175513Z               "line": 81
2026-06-16T08:24:18.6175594Z             },
2026-06-16T08:24:18.6175677Z             {
2026-06-16T08:24:18.6175791Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6175875Z               "line": 159
2026-06-16T08:24:18.6175967Z             },
2026-06-16T08:24:18.6176043Z             {
2026-06-16T08:24:18.6176161Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6176248Z               "line": 175
2026-06-16T08:24:18.6176344Z             },
2026-06-16T08:24:18.6176430Z             {
2026-06-16T08:24:18.6176548Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T08:24:18.6176645Z               "line": 190
2026-06-16T08:24:18.6176724Z             }
2026-06-16T08:24:18.6176805Z           ]
2026-06-16T08:24:18.6176893Z         },
2026-06-16T08:24:18.6176979Z         "int": {
2026-06-16T08:24:18.6177067Z           "complete": false,
2026-06-16T08:24:18.6177164Z           "evidence": []
2026-06-16T08:24:18.6177250Z         },
2026-06-16T08:24:18.6177335Z         "unit": {
2026-06-16T08:24:18.6177429Z           "complete": true,
2026-06-16T08:24:18.6177515Z           "evidence": [
2026-06-16T08:24:18.6177597Z             {
2026-06-16T08:24:18.6177715Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.6177815Z               "line": 402
2026-06-16T08:24:18.6177897Z             }
2026-06-16T08:24:18.6177978Z           ]
2026-06-16T08:24:18.6178058Z         }
2026-06-16T08:24:18.6178139Z       }
2026-06-16T08:24:18.6178222Z     },
2026-06-16T08:24:18.6178307Z     {
2026-06-16T08:24:18.6178406Z       "id": "REQ-NET-3",
2026-06-16T08:24:18.6178593Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-16T08:24:18.6178693Z       "requiredStages": [
2026-06-16T08:24:18.6178783Z         "impl",
2026-06-16T08:24:18.6178866Z         "unit"
2026-06-16T08:24:18.6179026Z       ],
2026-06-16T08:24:18.6179113Z       "stages": {
2026-06-16T08:24:18.6179195Z         "doc": {
2026-06-16T08:24:18.6179298Z           "complete": false,
2026-06-16T08:24:18.6179379Z           "evidence": []
2026-06-16T08:24:18.6179457Z         },
2026-06-16T08:24:18.6179538Z         "impl": {
2026-06-16T08:24:18.6179632Z           "complete": true,
2026-06-16T08:24:18.6179717Z           "evidence": [
2026-06-16T08:24:18.6179808Z             {
2026-06-16T08:24:18.6179930Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.6180015Z               "line": 39
2026-06-16T08:24:18.6180101Z             },
2026-06-16T08:24:18.6180183Z             {
2026-06-16T08:24:18.6180301Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.6180382Z               "line": 182
2026-06-16T08:24:18.6180464Z             },
2026-06-16T08:24:18.6180545Z             {
2026-06-16T08:24:18.6180649Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T08:24:18.6180745Z               "line": 333
2026-06-16T08:24:18.6180822Z             },
2026-06-16T08:24:18.6180911Z             {
2026-06-16T08:24:18.6181026Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T08:24:18.6181122Z               "line": 36
2026-06-16T08:24:18.6181198Z             },
2026-06-16T08:24:18.6181278Z             {
2026-06-16T08:24:18.6181404Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6181593Z               "line": 158
2026-06-16T08:24:18.6181680Z             },
2026-06-16T08:24:18.6181752Z             {
2026-06-16T08:24:18.6181884Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6182081Z               "line": 212
2026-06-16T08:24:18.6182165Z             },
2026-06-16T08:24:18.6182247Z             {
2026-06-16T08:24:18.6182372Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6182461Z               "line": 233
2026-06-16T08:24:18.6182537Z             },
2026-06-16T08:24:18.6182622Z             {
2026-06-16T08:24:18.6182741Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6182820Z               "line": 291
2026-06-16T08:24:18.6182896Z             },
2026-06-16T08:24:18.6182982Z             {
2026-06-16T08:24:18.6183107Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6183178Z               "line": 310
2026-06-16T08:24:18.6183268Z             },
2026-06-16T08:24:18.6183350Z             {
2026-06-16T08:24:18.6183469Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6183559Z               "line": 348
2026-06-16T08:24:18.6183641Z             },
2026-06-16T08:24:18.6183732Z             {
2026-06-16T08:24:18.6183845Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6183931Z               "line": 393
2026-06-16T08:24:18.6184013Z             },
2026-06-16T08:24:18.6184093Z             {
2026-06-16T08:24:18.6184222Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6184304Z               "line": 406
2026-06-16T08:24:18.6184389Z             },
2026-06-16T08:24:18.6184470Z             {
2026-06-16T08:24:18.6184596Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6184685Z               "line": 29
2026-06-16T08:24:18.6184765Z             },
2026-06-16T08:24:18.6184847Z             {
2026-06-16T08:24:18.6184967Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6185052Z               "line": 72
2026-06-16T08:24:18.6185132Z             },
2026-06-16T08:24:18.6185213Z             {
2026-06-16T08:24:18.6185331Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6185415Z               "line": 123
2026-06-16T08:24:18.6185501Z             }
2026-06-16T08:24:18.6185578Z           ]
2026-06-16T08:24:18.6185660Z         },
2026-06-16T08:24:18.6185735Z         "int": {
2026-06-16T08:24:18.6185830Z           "complete": false,
2026-06-16T08:24:18.6185908Z           "evidence": []
2026-06-16T08:24:18.6185988Z         },
2026-06-16T08:24:18.6186078Z         "unit": {
2026-06-16T08:24:18.6186164Z           "complete": true,
2026-06-16T08:24:18.6186260Z           "evidence": [
2026-06-16T08:24:18.6186341Z             {
2026-06-16T08:24:18.6186455Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.6186546Z               "line": 223
2026-06-16T08:24:18.6186627Z             },
2026-06-16T08:24:18.6186703Z             {
2026-06-16T08:24:18.6186818Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.6186909Z               "line": 351
2026-06-16T08:24:18.6186999Z             },
2026-06-16T08:24:18.6187085Z             {
2026-06-16T08:24:18.6187195Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T08:24:18.6187284Z               "line": 504
2026-06-16T08:24:18.6187370Z             },
2026-06-16T08:24:18.6187453Z             {
2026-06-16T08:24:18.6187571Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T08:24:18.6187652Z               "line": 93
2026-06-16T08:24:18.6187734Z             },
2026-06-16T08:24:18.6187815Z             {
2026-06-16T08:24:18.6187928Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T08:24:18.6188013Z               "line": 142
2026-06-16T08:24:18.6188094Z             },
2026-06-16T08:24:18.6188181Z             {
2026-06-16T08:24:18.6188380Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6188462Z               "line": 315
2026-06-16T08:24:18.6188543Z             },
2026-06-16T08:24:18.6188623Z             {
2026-06-16T08:24:18.6188739Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6188892Z               "line": 355
2026-06-16T08:24:18.6189039Z             },
2026-06-16T08:24:18.6189130Z             {
2026-06-16T08:24:18.6189248Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T08:24:18.6189338Z               "line": 494
2026-06-16T08:24:18.6189421Z             }
2026-06-16T08:24:18.6189510Z           ]
2026-06-16T08:24:18.6189591Z         }
2026-06-16T08:24:18.6189663Z       }
2026-06-16T08:24:18.6189745Z     },
2026-06-16T08:24:18.6189825Z     {
2026-06-16T08:24:18.6189930Z       "id": "REQ-NODE-IDENTITY",
2026-06-16T08:24:18.6190144Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-16T08:24:18.6190244Z       "requiredStages": [
2026-06-16T08:24:18.6190325Z         "impl",
2026-06-16T08:24:18.6190401Z         "unit"
2026-06-16T08:24:18.6190490Z       ],
2026-06-16T08:24:18.6190571Z       "stages": {
2026-06-16T08:24:18.6190656Z         "doc": {
2026-06-16T08:24:18.6190743Z           "complete": false,
2026-06-16T08:24:18.6190833Z           "evidence": []
2026-06-16T08:24:18.6190913Z         },
2026-06-16T08:24:18.6190995Z         "impl": {
2026-06-16T08:24:18.6191095Z           "complete": true,
2026-06-16T08:24:18.6191190Z           "evidence": [
2026-06-16T08:24:18.6191271Z             {
2026-06-16T08:24:18.6191391Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6191471Z               "line": 60
2026-06-16T08:24:18.6191552Z             },
2026-06-16T08:24:18.6191635Z             {
2026-06-16T08:24:18.6191749Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6191829Z               "line": 68
2026-06-16T08:24:18.6191910Z             },
2026-06-16T08:24:18.6191997Z             {
2026-06-16T08:24:18.6192111Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6192196Z               "line": 86
2026-06-16T08:24:18.6192284Z             },
2026-06-16T08:24:18.6192368Z             {
2026-06-16T08:24:18.6192482Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6192574Z               "line": 120
2026-06-16T08:24:18.6192650Z             },
2026-06-16T08:24:18.6192730Z             {
2026-06-16T08:24:18.6192845Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6192932Z               "line": 127
2026-06-16T08:24:18.6193012Z             },
2026-06-16T08:24:18.6193092Z             {
2026-06-16T08:24:18.6193211Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6193292Z               "line": 143
2026-06-16T08:24:18.6193371Z             },
2026-06-16T08:24:18.6193452Z             {
2026-06-16T08:24:18.6193562Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T08:24:18.6193648Z               "line": 16
2026-06-16T08:24:18.6193729Z             }
2026-06-16T08:24:18.6193809Z           ]
2026-06-16T08:24:18.6193887Z         },
2026-06-16T08:24:18.6193967Z         "int": {
2026-06-16T08:24:18.6194062Z           "complete": false,
2026-06-16T08:24:18.6194148Z           "evidence": []
2026-06-16T08:24:18.6194225Z         },
2026-06-16T08:24:18.6194344Z         "unit": {
2026-06-16T08:24:18.6194438Z           "complete": true,
2026-06-16T08:24:18.6194511Z           "evidence": [
2026-06-16T08:24:18.6194597Z             {
2026-06-16T08:24:18.6194730Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6194831Z               "line": 199
2026-06-16T08:24:18.6194912Z             },
2026-06-16T08:24:18.6194987Z             {
2026-06-16T08:24:18.6195102Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6195184Z               "line": 218
2026-06-16T08:24:18.6195264Z             },
2026-06-16T08:24:18.6195446Z             {
2026-06-16T08:24:18.6195565Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6195654Z               "line": 234
2026-06-16T08:24:18.6195782Z             },
2026-06-16T08:24:18.6195873Z             {
2026-06-16T08:24:18.6195985Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T08:24:18.6196167Z               "line": 256
2026-06-16T08:24:18.6196253Z             },
2026-06-16T08:24:18.6196337Z             {
2026-06-16T08:24:18.6196453Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T08:24:18.6196539Z               "line": 124
2026-06-16T08:24:18.6196624Z             },
2026-06-16T08:24:18.6196700Z             {
2026-06-16T08:24:18.6196825Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T08:24:18.6196920Z               "line": 140
2026-06-16T08:24:18.6196995Z             },
2026-06-16T08:24:18.6197083Z             {
2026-06-16T08:24:18.6197187Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T08:24:18.6197287Z               "line": 155
2026-06-16T08:24:18.6197363Z             }
2026-06-16T08:24:18.6197455Z           ]
2026-06-16T08:24:18.6197535Z         }
2026-06-16T08:24:18.6197615Z       }
2026-06-16T08:24:18.6197693Z     },
2026-06-16T08:24:18.6197770Z     {
2026-06-16T08:24:18.6197868Z       "id": "REQ-NOTIF-1",
2026-06-16T08:24:18.6198232Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-16T08:24:18.6198328Z       "requiredStages": [
2026-06-16T08:24:18.6198418Z         "impl",
2026-06-16T08:24:18.6198493Z         "unit",
2026-06-16T08:24:18.6198578Z         "int"
2026-06-16T08:24:18.6198659Z       ],
2026-06-16T08:24:18.6198750Z       "stages": {
2026-06-16T08:24:18.6198827Z         "doc": {
2026-06-16T08:24:18.6198921Z           "complete": false,
2026-06-16T08:24:18.6199098Z           "evidence": []
2026-06-16T08:24:18.6199179Z         },
2026-06-16T08:24:18.6199264Z         "impl": {
2026-06-16T08:24:18.6199371Z           "complete": true,
2026-06-16T08:24:18.6199461Z           "evidence": [
2026-06-16T08:24:18.6199541Z             {
2026-06-16T08:24:18.6199661Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6199756Z               "line": 514
2026-06-16T08:24:18.6199836Z             },
2026-06-16T08:24:18.6199913Z             {
2026-06-16T08:24:18.6200029Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6200119Z               "line": 30
2026-06-16T08:24:18.6200204Z             },
2026-06-16T08:24:18.6200281Z             {
2026-06-16T08:24:18.6200399Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6200485Z               "line": 69
2026-06-16T08:24:18.6200572Z             },
2026-06-16T08:24:18.6200649Z             {
2026-06-16T08:24:18.6200761Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6200842Z               "line": 93
2026-06-16T08:24:18.6200918Z             },
2026-06-16T08:24:18.6200999Z             {
2026-06-16T08:24:18.6201112Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6201197Z               "line": 107
2026-06-16T08:24:18.6201279Z             },
2026-06-16T08:24:18.6201374Z             {
2026-06-16T08:24:18.6201488Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6201565Z               "line": 142
2026-06-16T08:24:18.6201646Z             },
2026-06-16T08:24:18.6201726Z             {
2026-06-16T08:24:18.6201846Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6201928Z               "line": 187
2026-06-16T08:24:18.6202004Z             },
2026-06-16T08:24:18.6202089Z             {
2026-06-16T08:24:18.6202200Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6202289Z               "line": 258
2026-06-16T08:24:18.6202370Z             },
2026-06-16T08:24:18.6202451Z             {
2026-06-16T08:24:18.6202553Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6202742Z               "line": 372
2026-06-16T08:24:18.6202819Z             },
2026-06-16T08:24:18.6202905Z             {
2026-06-16T08:24:18.6203019Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6203095Z               "line": 479
2026-06-16T08:24:18.6203276Z             },
2026-06-16T08:24:18.6203353Z             {
2026-06-16T08:24:18.6203478Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6203567Z               "line": 24
2026-06-16T08:24:18.6203643Z             },
2026-06-16T08:24:18.6203723Z             {
2026-06-16T08:24:18.6203848Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6203936Z               "line": 34
2026-06-16T08:24:18.6204017Z             },
2026-06-16T08:24:18.6204098Z             {
2026-06-16T08:24:18.6204213Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6204293Z               "line": 60
2026-06-16T08:24:18.6204379Z             },
2026-06-16T08:24:18.6204466Z             {
2026-06-16T08:24:18.6204575Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6204651Z               "line": 82
2026-06-16T08:24:18.6204732Z             },
2026-06-16T08:24:18.6204818Z             {
2026-06-16T08:24:18.6204937Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6205018Z               "line": 94
2026-06-16T08:24:18.6205100Z             },
2026-06-16T08:24:18.6205185Z             {
2026-06-16T08:24:18.6205304Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.6205396Z               "line": 96
2026-06-16T08:24:18.6205481Z             },
2026-06-16T08:24:18.6205561Z             {
2026-06-16T08:24:18.6205686Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-16T08:24:18.6205763Z               "line": 44
2026-06-16T08:24:18.6205843Z             },
2026-06-16T08:24:18.6205934Z             {
2026-06-16T08:24:18.6206045Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.6206144Z               "line": 20
2026-06-16T08:24:18.6206228Z             },
2026-06-16T08:24:18.6206314Z             {
2026-06-16T08:24:18.6206419Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.6206512Z               "line": 30
2026-06-16T08:24:18.6206602Z             },
2026-06-16T08:24:18.6206684Z             {
2026-06-16T08:24:18.6206785Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.6206874Z               "line": 50
2026-06-16T08:24:18.6206960Z             },
2026-06-16T08:24:18.6207042Z             {
2026-06-16T08:24:18.6207156Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6207241Z               "line": 28
2026-06-16T08:24:18.6207324Z             },
2026-06-16T08:24:18.6207404Z             {
2026-06-16T08:24:18.6207513Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6207604Z               "line": 126
2026-06-16T08:24:18.6207681Z             },
2026-06-16T08:24:18.6207766Z             {
2026-06-16T08:24:18.6207870Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6207953Z               "line": 161
2026-06-16T08:24:18.6208033Z             },
2026-06-16T08:24:18.6208114Z             {
2026-06-16T08:24:18.6208229Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6208310Z               "line": 202
2026-06-16T08:24:18.6208396Z             },
2026-06-16T08:24:18.6208477Z             {
2026-06-16T08:24:18.6208578Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6208668Z               "line": 213
2026-06-16T08:24:18.6208753Z             },
2026-06-16T08:24:18.6208834Z             {
2026-06-16T08:24:18.6209034Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6209129Z               "line": 238
2026-06-16T08:24:18.6209205Z             },
2026-06-16T08:24:18.6209282Z             {
2026-06-16T08:24:18.6209391Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6209649Z               "line": 261
2026-06-16T08:24:18.6209725Z             },
2026-06-16T08:24:18.6209810Z             {
2026-06-16T08:24:18.6209931Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6210021Z               "line": 82
2026-06-16T08:24:18.6210188Z             }
2026-06-16T08:24:18.6210283Z           ]
2026-06-16T08:24:18.6210360Z         },
2026-06-16T08:24:18.6210440Z         "int": {
2026-06-16T08:24:18.6210527Z           "complete": true,
2026-06-16T08:24:18.6210617Z           "evidence": [
2026-06-16T08:24:18.6210693Z             {
2026-06-16T08:24:18.6210813Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6210899Z               "line": 285
2026-06-16T08:24:18.6210978Z             },
2026-06-16T08:24:18.6211064Z             {
2026-06-16T08:24:18.6211180Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T08:24:18.6211260Z               "line": 102
2026-06-16T08:24:18.6211340Z             },
2026-06-16T08:24:18.6211430Z             {
2026-06-16T08:24:18.6211555Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6211638Z               "line": 660
2026-06-16T08:24:18.6211719Z             },
2026-06-16T08:24:18.6211796Z             {
2026-06-16T08:24:18.6211921Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6212019Z               "line": 1078
2026-06-16T08:24:18.6212096Z             }
2026-06-16T08:24:18.6212182Z           ]
2026-06-16T08:24:18.6212263Z         },
2026-06-16T08:24:18.6212344Z         "unit": {
2026-06-16T08:24:18.6212435Z           "complete": true,
2026-06-16T08:24:18.6212525Z           "evidence": [
2026-06-16T08:24:18.6212606Z             {
2026-06-16T08:24:18.6212711Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6212808Z               "line": 572
2026-06-16T08:24:18.6212883Z             },
2026-06-16T08:24:18.6212973Z             {
2026-06-16T08:24:18.6213084Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6213169Z               "line": 636
2026-06-16T08:24:18.6213255Z             },
2026-06-16T08:24:18.6213336Z             {
2026-06-16T08:24:18.6213452Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6213535Z               "line": 740
2026-06-16T08:24:18.6213622Z             },
2026-06-16T08:24:18.6213713Z             {
2026-06-16T08:24:18.6213813Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6213898Z               "line": 772
2026-06-16T08:24:18.6213980Z             },
2026-06-16T08:24:18.6214062Z             {
2026-06-16T08:24:18.6214174Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6214255Z               "line": 840
2026-06-16T08:24:18.6214336Z             },
2026-06-16T08:24:18.6214413Z             {
2026-06-16T08:24:18.6214529Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6214609Z               "line": 898
2026-06-16T08:24:18.6214696Z             },
2026-06-16T08:24:18.6214778Z             {
2026-06-16T08:24:18.6214891Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6214978Z               "line": 1173
2026-06-16T08:24:18.6215064Z             },
2026-06-16T08:24:18.6215144Z             {
2026-06-16T08:24:18.6215268Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6215364Z               "line": 157
2026-06-16T08:24:18.6215446Z             },
2026-06-16T08:24:18.6215521Z             {
2026-06-16T08:24:18.6215641Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6215721Z               "line": 250
2026-06-16T08:24:18.6215802Z             },
2026-06-16T08:24:18.6215883Z             {
2026-06-16T08:24:18.6216004Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T08:24:18.6216079Z               "line": 273
2026-06-16T08:24:18.6216160Z             },
2026-06-16T08:24:18.6216247Z             {
2026-06-16T08:24:18.6216361Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.6216537Z               "line": 355
2026-06-16T08:24:18.6216619Z             },
2026-06-16T08:24:18.6216708Z             {
2026-06-16T08:24:18.6216812Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T08:24:18.6216965Z               "line": 392
2026-06-16T08:24:18.6217053Z             },
2026-06-16T08:24:18.6217129Z             {
2026-06-16T08:24:18.6217254Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-16T08:24:18.6217340Z               "line": 131
2026-06-16T08:24:18.6217425Z             },
2026-06-16T08:24:18.6217501Z             {
2026-06-16T08:24:18.6217607Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.6217693Z               "line": 72
2026-06-16T08:24:18.6217773Z             },
2026-06-16T08:24:18.6217849Z             {
2026-06-16T08:24:18.6217955Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T08:24:18.6218050Z               "line": 97
2026-06-16T08:24:18.6218140Z             },
2026-06-16T08:24:18.6218213Z             {
2026-06-16T08:24:18.6218331Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6218417Z               "line": 379
2026-06-16T08:24:18.6218493Z             },
2026-06-16T08:24:18.6218579Z             {
2026-06-16T08:24:18.6218698Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6218794Z               "line": 417
2026-06-16T08:24:18.6218875Z             },
2026-06-16T08:24:18.6219032Z             {
2026-06-16T08:24:18.6219138Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6219242Z               "line": 433
2026-06-16T08:24:18.6219318Z             },
2026-06-16T08:24:18.6219399Z             {
2026-06-16T08:24:18.6219515Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6219594Z               "line": 472
2026-06-16T08:24:18.6219679Z             },
2026-06-16T08:24:18.6219760Z             {
2026-06-16T08:24:18.6219876Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6219961Z               "line": 489
2026-06-16T08:24:18.6220041Z             },
2026-06-16T08:24:18.6220133Z             {
2026-06-16T08:24:18.6220223Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6220323Z               "line": 517
2026-06-16T08:24:18.6220404Z             },
2026-06-16T08:24:18.6220481Z             {
2026-06-16T08:24:18.6220591Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T08:24:18.6220680Z               "line": 548
2026-06-16T08:24:18.6220763Z             },
2026-06-16T08:24:18.6220843Z             {
2026-06-16T08:24:18.6220957Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6221048Z               "line": 741
2026-06-16T08:24:18.6221130Z             }
2026-06-16T08:24:18.6221210Z           ]
2026-06-16T08:24:18.6221291Z         }
2026-06-16T08:24:18.6221373Z       }
2026-06-16T08:24:18.6221454Z     },
2026-06-16T08:24:18.6221534Z     {
2026-06-16T08:24:18.6221639Z       "id": "REQ-NOTIF-2",
2026-06-16T08:24:18.6221905Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-16T08:24:18.6221990Z       "requiredStages": [
2026-06-16T08:24:18.6222077Z         "doc",
2026-06-16T08:24:18.6222166Z         "impl",
2026-06-16T08:24:18.6222246Z         "unit",
2026-06-16T08:24:18.6222337Z         "int"
2026-06-16T08:24:18.6222419Z       ],
2026-06-16T08:24:18.6222499Z       "stages": {
2026-06-16T08:24:18.6222579Z         "doc": {
2026-06-16T08:24:18.6222680Z           "complete": true,
2026-06-16T08:24:18.6222780Z           "evidence": [
2026-06-16T08:24:18.6222856Z             {
2026-06-16T08:24:18.6222956Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6223039Z               "line": 454
2026-06-16T08:24:18.6223114Z             },
2026-06-16T08:24:18.6223194Z             {
2026-06-16T08:24:18.6223310Z               "path": "docs/MANIFEST.md",
2026-06-16T08:24:18.6223405Z               "line": 76
2026-06-16T08:24:18.6223581Z             }
2026-06-16T08:24:18.6223663Z           ]
2026-06-16T08:24:18.6223743Z         },
2026-06-16T08:24:18.6223824Z         "impl": {
2026-06-16T08:24:18.6223915Z           "complete": true,
2026-06-16T08:24:18.6223992Z           "evidence": [
2026-06-16T08:24:18.6224172Z             {
2026-06-16T08:24:18.6224288Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6224378Z               "line": 287
2026-06-16T08:24:18.6224454Z             },
2026-06-16T08:24:18.6224545Z             {
2026-06-16T08:24:18.6224646Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6224730Z               "line": 301
2026-06-16T08:24:18.6224815Z             },
2026-06-16T08:24:18.6224882Z             {
2026-06-16T08:24:18.6224996Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6225084Z               "line": 326
2026-06-16T08:24:18.6225161Z             },
2026-06-16T08:24:18.6225247Z             {
2026-06-16T08:24:18.6225381Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6225466Z               "line": 199
2026-06-16T08:24:18.6225552Z             },
2026-06-16T08:24:18.6225629Z             {
2026-06-16T08:24:18.6225747Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6225848Z               "line": 91
2026-06-16T08:24:18.6225934Z             },
2026-06-16T08:24:18.6226015Z             {
2026-06-16T08:24:18.6226119Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6226196Z               "line": 2007
2026-06-16T08:24:18.6226286Z             },
2026-06-16T08:24:18.6226367Z             {
2026-06-16T08:24:18.6226477Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6226569Z               "line": 2056
2026-06-16T08:24:18.6226653Z             },
2026-06-16T08:24:18.6226739Z             {
2026-06-16T08:24:18.6226831Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6226925Z               "line": 2135
2026-06-16T08:24:18.6227006Z             },
2026-06-16T08:24:18.6227092Z             {
2026-06-16T08:24:18.6227203Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6227292Z               "line": 2174
2026-06-16T08:24:18.6227368Z             }
2026-06-16T08:24:18.6227458Z           ]
2026-06-16T08:24:18.6227553Z         },
2026-06-16T08:24:18.6227627Z         "int": {
2026-06-16T08:24:18.6227727Z           "complete": true,
2026-06-16T08:24:18.6227819Z           "evidence": [
2026-06-16T08:24:18.6227900Z             {
2026-06-16T08:24:18.6228028Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6228104Z               "line": 786
2026-06-16T08:24:18.6228186Z             },
2026-06-16T08:24:18.6228271Z             {
2026-06-16T08:24:18.6228395Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6228491Z               "line": 1319
2026-06-16T08:24:18.6228572Z             }
2026-06-16T08:24:18.6228652Z           ]
2026-06-16T08:24:18.6228739Z         },
2026-06-16T08:24:18.6228820Z         "unit": {
2026-06-16T08:24:18.6228901Z           "complete": true,
2026-06-16T08:24:18.6229063Z           "evidence": [
2026-06-16T08:24:18.6229149Z             {
2026-06-16T08:24:18.6229258Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6229359Z               "line": 1022
2026-06-16T08:24:18.6229436Z             },
2026-06-16T08:24:18.6229525Z             {
2026-06-16T08:24:18.6229635Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6229727Z               "line": 1090
2026-06-16T08:24:18.6229816Z             },
2026-06-16T08:24:18.6229897Z             {
2026-06-16T08:24:18.6229999Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6230080Z               "line": 7074
2026-06-16T08:24:18.6230168Z             },
2026-06-16T08:24:18.6230249Z             {
2026-06-16T08:24:18.6230344Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6230436Z               "line": 7129
2026-06-16T08:24:18.6230611Z             }
2026-06-16T08:24:18.6230698Z           ]
2026-06-16T08:24:18.6230774Z         }
2026-06-16T08:24:18.6230854Z       }
2026-06-16T08:24:18.6230935Z     },
2026-06-16T08:24:18.6231013Z     {
2026-06-16T08:24:18.6231108Z       "id": "REQ-PAIR-1",
2026-06-16T08:24:18.6231308Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-16T08:24:18.6231408Z       "requiredStages": [
2026-06-16T08:24:18.6231484Z         "impl",
2026-06-16T08:24:18.6231560Z         "unit",
2026-06-16T08:24:18.6231638Z         "int"
2026-06-16T08:24:18.6231723Z       ],
2026-06-16T08:24:18.6231804Z       "stages": {
2026-06-16T08:24:18.6231889Z         "doc": {
2026-06-16T08:24:18.6231986Z           "complete": false,
2026-06-16T08:24:18.6232071Z           "evidence": []
2026-06-16T08:24:18.6232152Z         },
2026-06-16T08:24:18.6232233Z         "impl": {
2026-06-16T08:24:18.6232329Z           "complete": true,
2026-06-16T08:24:18.6232423Z           "evidence": [
2026-06-16T08:24:18.6232499Z             {
2026-06-16T08:24:18.6232641Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6232717Z               "line": 27
2026-06-16T08:24:18.6232796Z             },
2026-06-16T08:24:18.6232868Z             {
2026-06-16T08:24:18.6233007Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6233093Z               "line": 88
2026-06-16T08:24:18.6233178Z             },
2026-06-16T08:24:18.6233255Z             {
2026-06-16T08:24:18.6233383Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6233473Z               "line": 110
2026-06-16T08:24:18.6233556Z             },
2026-06-16T08:24:18.6233646Z             {
2026-06-16T08:24:18.6233773Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6233856Z               "line": 153
2026-06-16T08:24:18.6233946Z             },
2026-06-16T08:24:18.6234027Z             {
2026-06-16T08:24:18.6234156Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6234242Z               "line": 182
2026-06-16T08:24:18.6234322Z             },
2026-06-16T08:24:18.6234403Z             {
2026-06-16T08:24:18.6234524Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6234618Z               "line": 29
2026-06-16T08:24:18.6234700Z             },
2026-06-16T08:24:18.6234785Z             {
2026-06-16T08:24:18.6234919Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T08:24:18.6235009Z               "line": 31
2026-06-16T08:24:18.6235096Z             },
2026-06-16T08:24:18.6235177Z             {
2026-06-16T08:24:18.6235304Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6235385Z               "line": 44
2026-06-16T08:24:18.6235476Z             },
2026-06-16T08:24:18.6235561Z             {
2026-06-16T08:24:18.6235687Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6235779Z               "line": 171
2026-06-16T08:24:18.6238422Z             },
2026-06-16T08:24:18.6238521Z             {
2026-06-16T08:24:18.6238665Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6238756Z               "line": 376
2026-06-16T08:24:18.6238836Z             }
2026-06-16T08:24:18.6238926Z           ]
2026-06-16T08:24:18.6239128Z         },
2026-06-16T08:24:18.6239203Z         "int": {
2026-06-16T08:24:18.6239295Z           "complete": true,
2026-06-16T08:24:18.6239394Z           "evidence": [
2026-06-16T08:24:18.6239475Z             {
2026-06-16T08:24:18.6239594Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6239686Z               "line": 621
2026-06-16T08:24:18.6239771Z             },
2026-06-16T08:24:18.6239847Z             {
2026-06-16T08:24:18.6239972Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6240056Z               "line": 863
2026-06-16T08:24:18.6240138Z             }
2026-06-16T08:24:18.6240219Z           ]
2026-06-16T08:24:18.6240448Z         },
2026-06-16T08:24:18.6240534Z         "unit": {
2026-06-16T08:24:18.6240626Z           "complete": true,
2026-06-16T08:24:18.6240719Z           "evidence": [
2026-06-16T08:24:18.6240800Z             {
2026-06-16T08:24:18.6240943Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6241119Z               "line": 236
2026-06-16T08:24:18.6241205Z             },
2026-06-16T08:24:18.6241277Z             {
2026-06-16T08:24:18.6241396Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T08:24:18.6241490Z               "line": 349
2026-06-16T08:24:18.6241569Z             },
2026-06-16T08:24:18.6241644Z             {
2026-06-16T08:24:18.6241772Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6241849Z               "line": 194
2026-06-16T08:24:18.6241925Z             },
2026-06-16T08:24:18.6242006Z             {
2026-06-16T08:24:18.6242129Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6242217Z               "line": 216
2026-06-16T08:24:18.6242297Z             },
2026-06-16T08:24:18.6242373Z             {
2026-06-16T08:24:18.6242488Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6242574Z               "line": 230
2026-06-16T08:24:18.6242659Z             },
2026-06-16T08:24:18.6242740Z             {
2026-06-16T08:24:18.6242856Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6242936Z               "line": 242
2026-06-16T08:24:18.6243021Z             },
2026-06-16T08:24:18.6243097Z             {
2026-06-16T08:24:18.6243225Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6243309Z               "line": 256
2026-06-16T08:24:18.6243390Z             },
2026-06-16T08:24:18.6243467Z             {
2026-06-16T08:24:18.6243582Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6243676Z               "line": 270
2026-06-16T08:24:18.6243748Z             },
2026-06-16T08:24:18.6243824Z             {
2026-06-16T08:24:18.6243939Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6244019Z               "line": 277
2026-06-16T08:24:18.6244111Z             },
2026-06-16T08:24:18.6244187Z             {
2026-06-16T08:24:18.6244310Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T08:24:18.6244392Z               "line": 295
2026-06-16T08:24:18.6244483Z             },
2026-06-16T08:24:18.6244559Z             {
2026-06-16T08:24:18.6244682Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6244765Z               "line": 968
2026-06-16T08:24:18.6244840Z             },
2026-06-16T08:24:18.6244921Z             {
2026-06-16T08:24:18.6245040Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6245136Z               "line": 1051
2026-06-16T08:24:18.6245202Z             },
2026-06-16T08:24:18.6245288Z             {
2026-06-16T08:24:18.6245423Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6245503Z               "line": 1121
2026-06-16T08:24:18.6245584Z             },
2026-06-16T08:24:18.6245666Z             {
2026-06-16T08:24:18.6245790Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6245874Z               "line": 1182
2026-06-16T08:24:18.6245954Z             },
2026-06-16T08:24:18.6246036Z             {
2026-06-16T08:24:18.6246153Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6246242Z               "line": 1238
2026-06-16T08:24:18.6246324Z             },
2026-06-16T08:24:18.6246411Z             {
2026-06-16T08:24:18.6246529Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6246615Z               "line": 1457
2026-06-16T08:24:18.6246697Z             }
2026-06-16T08:24:18.6246777Z           ]
2026-06-16T08:24:18.6246863Z         }
2026-06-16T08:24:18.6246944Z       }
2026-06-16T08:24:18.6247026Z     },
2026-06-16T08:24:18.6247173Z     {
2026-06-16T08:24:18.6247273Z       "id": "REQ-PAIR-2",
2026-06-16T08:24:18.6247416Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-16T08:24:18.6247511Z       "requiredStages": [],
2026-06-16T08:24:18.6247597Z       "stages": {
2026-06-16T08:24:18.6247745Z         "doc": {
2026-06-16T08:24:18.6247845Z           "complete": false,
2026-06-16T08:24:18.6247937Z           "evidence": []
2026-06-16T08:24:18.6248013Z         },
2026-06-16T08:24:18.6248102Z         "impl": {
2026-06-16T08:24:18.6248184Z           "complete": false,
2026-06-16T08:24:18.6248276Z           "evidence": []
2026-06-16T08:24:18.6248352Z         },
2026-06-16T08:24:18.6248431Z         "int": {
2026-06-16T08:24:18.6248512Z           "complete": false,
2026-06-16T08:24:18.6248602Z           "evidence": []
2026-06-16T08:24:18.6248678Z         },
2026-06-16T08:24:18.6248757Z         "unit": {
2026-06-16T08:24:18.6248852Z           "complete": false,
2026-06-16T08:24:18.6248934Z           "evidence": []
2026-06-16T08:24:18.6249096Z         }
2026-06-16T08:24:18.6249172Z       }
2026-06-16T08:24:18.6249254Z     },
2026-06-16T08:24:18.6249334Z     {
2026-06-16T08:24:18.6249439Z       "id": "REQ-PAIR-3",
2026-06-16T08:24:18.6249588Z       "title": "Fetch current pairing code from any paired node",
2026-06-16T08:24:18.6249678Z       "requiredStages": [
2026-06-16T08:24:18.6249763Z         "impl",
2026-06-16T08:24:18.6249845Z         "unit"
2026-06-16T08:24:18.6249927Z       ],
2026-06-16T08:24:18.6250016Z       "stages": {
2026-06-16T08:24:18.6250092Z         "doc": {
2026-06-16T08:24:18.6250188Z           "complete": false,
2026-06-16T08:24:18.6250260Z           "evidence": []
2026-06-16T08:24:18.6250341Z         },
2026-06-16T08:24:18.6250416Z         "impl": {
2026-06-16T08:24:18.6250518Z           "complete": true,
2026-06-16T08:24:18.6250608Z           "evidence": [
2026-06-16T08:24:18.6250689Z             {
2026-06-16T08:24:18.6250799Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6250881Z               "line": 2945
2026-06-16T08:24:18.6250964Z             },
2026-06-16T08:24:18.6251036Z             {
2026-06-16T08:24:18.6251143Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6251224Z               "line": 3014
2026-06-16T08:24:18.6251302Z             },
2026-06-16T08:24:18.6251388Z             {
2026-06-16T08:24:18.6251484Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6251561Z               "line": 3395
2026-06-16T08:24:18.6251646Z             },
2026-06-16T08:24:18.6251726Z             {
2026-06-16T08:24:18.6251828Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6251909Z               "line": 4640
2026-06-16T08:24:18.6251989Z             }
2026-06-16T08:24:18.6252065Z           ]
2026-06-16T08:24:18.6252143Z         },
2026-06-16T08:24:18.6252228Z         "int": {
2026-06-16T08:24:18.6252313Z           "complete": false,
2026-06-16T08:24:18.6252404Z           "evidence": []
2026-06-16T08:24:18.6252486Z         },
2026-06-16T08:24:18.6252576Z         "unit": {
2026-06-16T08:24:18.6252666Z           "complete": true,
2026-06-16T08:24:18.6252753Z           "evidence": [
2026-06-16T08:24:18.6252834Z             {
2026-06-16T08:24:18.6252933Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6253019Z               "line": 8790
2026-06-16T08:24:18.6253097Z             },
2026-06-16T08:24:18.6253177Z             {
2026-06-16T08:24:18.6253272Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6253353Z               "line": 9005
2026-06-16T08:24:18.6253431Z             },
2026-06-16T08:24:18.6253514Z             {
2026-06-16T08:24:18.6253609Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6253695Z               "line": 9626
2026-06-16T08:24:18.6253771Z             },
2026-06-16T08:24:18.6253851Z             {
2026-06-16T08:24:18.6253954Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6254036Z               "line": 9645
2026-06-16T08:24:18.6254218Z             },
2026-06-16T08:24:18.6254293Z             {
2026-06-16T08:24:18.6254389Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6254471Z               "line": 9669
2026-06-16T08:24:18.6254551Z             },
2026-06-16T08:24:18.6254637Z             {
2026-06-16T08:24:18.6254828Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6254947Z               "line": 9688
2026-06-16T08:24:18.6255038Z             },
2026-06-16T08:24:18.6255128Z             {
2026-06-16T08:24:18.6255237Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6255330Z               "line": 9701
2026-06-16T08:24:18.6255448Z             },
2026-06-16T08:24:18.6255534Z             {
2026-06-16T08:24:18.6255640Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6255729Z               "line": 9710
2026-06-16T08:24:18.6255805Z             }
2026-06-16T08:24:18.6255886Z           ]
2026-06-16T08:24:18.6255964Z         }
2026-06-16T08:24:18.6256039Z       }
2026-06-16T08:24:18.6256124Z     },
2026-06-16T08:24:18.6256211Z     {
2026-06-16T08:24:18.6256298Z       "id": "REQ-PAIR-4",
2026-06-16T08:24:18.6256410Z       "title": "Subnet naming on first pairing",
2026-06-16T08:24:18.6256505Z       "requiredStages": [
2026-06-16T08:24:18.6256591Z         "impl",
2026-06-16T08:24:18.6256732Z         "unit"
2026-06-16T08:24:18.6256817Z       ],
2026-06-16T08:24:18.6256903Z       "stages": {
2026-06-16T08:24:18.6256990Z         "doc": {
2026-06-16T08:24:18.6257080Z           "complete": false,
2026-06-16T08:24:18.6257170Z           "evidence": []
2026-06-16T08:24:18.6257247Z         },
2026-06-16T08:24:18.6257333Z         "impl": {
2026-06-16T08:24:18.6257423Z           "complete": true,
2026-06-16T08:24:18.6257514Z           "evidence": [
2026-06-16T08:24:18.6257595Z             {
2026-06-16T08:24:18.6257700Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T08:24:18.6257799Z               "line": 174
2026-06-16T08:24:18.6257882Z             }
2026-06-16T08:24:18.6257972Z           ]
2026-06-16T08:24:18.6258043Z         },
2026-06-16T08:24:18.6258129Z         "int": {
2026-06-16T08:24:18.6258211Z           "complete": false,
2026-06-16T08:24:18.6258291Z           "evidence": []
2026-06-16T08:24:18.6258367Z         },
2026-06-16T08:24:18.6258448Z         "unit": {
2026-06-16T08:24:18.6258544Z           "complete": true,
2026-06-16T08:24:18.6258625Z           "evidence": [
2026-06-16T08:24:18.6258706Z             {
2026-06-16T08:24:18.6258826Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6258907Z               "line": 1294
2026-06-16T08:24:18.6259067Z             }
2026-06-16T08:24:18.6259148Z           ]
2026-06-16T08:24:18.6259220Z         }
2026-06-16T08:24:18.6259294Z       }
2026-06-16T08:24:18.6259384Z     },
2026-06-16T08:24:18.6259470Z     {
2026-06-16T08:24:18.6259561Z       "id": "REQ-PAIR-5",
2026-06-16T08:24:18.6259876Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-16T08:24:18.6259975Z       "requiredStages": [
2026-06-16T08:24:18.6260052Z         "impl",
2026-06-16T08:24:18.6260138Z         "unit",
2026-06-16T08:24:18.6260223Z         "int"
2026-06-16T08:24:18.6260304Z       ],
2026-06-16T08:24:18.6260385Z       "stages": {
2026-06-16T08:24:18.6260467Z         "doc": {
2026-06-16T08:24:18.6260557Z           "complete": false,
2026-06-16T08:24:18.6260647Z           "evidence": []
2026-06-16T08:24:18.6260719Z         },
2026-06-16T08:24:18.6260806Z         "impl": {
2026-06-16T08:24:18.6260896Z           "complete": true,
2026-06-16T08:24:18.6260972Z           "evidence": [
2026-06-16T08:24:18.6261049Z             {
2026-06-16T08:24:18.6261173Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6261268Z               "line": 44
2026-06-16T08:24:18.6261339Z             },
2026-06-16T08:24:18.6261417Z             {
2026-06-16T08:24:18.6261543Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6261717Z               "line": 96
2026-06-16T08:24:18.6261803Z             },
2026-06-16T08:24:18.6261872Z             {
2026-06-16T08:24:18.6261991Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6262073Z               "line": 107
2026-06-16T08:24:18.6262268Z             },
2026-06-16T08:24:18.6262349Z             {
2026-06-16T08:24:18.6262469Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6262568Z               "line": 124
2026-06-16T08:24:18.6262645Z             },
2026-06-16T08:24:18.6262727Z             {
2026-06-16T08:24:18.6262840Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6262935Z               "line": 155
2026-06-16T08:24:18.6263018Z             },
2026-06-16T08:24:18.6263098Z             {
2026-06-16T08:24:18.6263226Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6263308Z               "line": 195
2026-06-16T08:24:18.6263394Z             },
2026-06-16T08:24:18.6263475Z             {
2026-06-16T08:24:18.6263599Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6263681Z               "line": 251
2026-06-16T08:24:18.6263760Z             },
2026-06-16T08:24:18.6263836Z             {
2026-06-16T08:24:18.6263981Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6264070Z               "line": 33
2026-06-16T08:24:18.6264151Z             },
2026-06-16T08:24:18.6264231Z             {
2026-06-16T08:24:18.6264364Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6264444Z               "line": 45
2026-06-16T08:24:18.6264524Z             },
2026-06-16T08:24:18.6264606Z             {
2026-06-16T08:24:18.6264730Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6264825Z               "line": 59
2026-06-16T08:24:18.6264901Z             },
2026-06-16T08:24:18.6264983Z             {
2026-06-16T08:24:18.6265106Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6265197Z               "line": 376
2026-06-16T08:24:18.6265274Z             }
2026-06-16T08:24:18.6265360Z           ]
2026-06-16T08:24:18.6265440Z         },
2026-06-16T08:24:18.6265522Z         "int": {
2026-06-16T08:24:18.6265617Z           "complete": true,
2026-06-16T08:24:18.6265698Z           "evidence": [
2026-06-16T08:24:18.6265779Z             {
2026-06-16T08:24:18.6265899Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6265989Z               "line": 863
2026-06-16T08:24:18.6266065Z             },
2026-06-16T08:24:18.6266141Z             {
2026-06-16T08:24:18.6266270Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6266356Z               "line": 342
2026-06-16T08:24:18.6266441Z             }
2026-06-16T08:24:18.6266524Z           ]
2026-06-16T08:24:18.6266604Z         },
2026-06-16T08:24:18.6266689Z         "unit": {
2026-06-16T08:24:18.6266786Z           "complete": true,
2026-06-16T08:24:18.6266872Z           "evidence": [
2026-06-16T08:24:18.6266952Z             {
2026-06-16T08:24:18.6267074Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6267156Z               "line": 293
2026-06-16T08:24:18.6267241Z             },
2026-06-16T08:24:18.6267325Z             {
2026-06-16T08:24:18.6267444Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6267526Z               "line": 304
2026-06-16T08:24:18.6267607Z             },
2026-06-16T08:24:18.6267692Z             {
2026-06-16T08:24:18.6267808Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6267893Z               "line": 406
2026-06-16T08:24:18.6267969Z             },
2026-06-16T08:24:18.6268049Z             {
2026-06-16T08:24:18.6268175Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6268256Z               "line": 72
2026-06-16T08:24:18.6268336Z             },
2026-06-16T08:24:18.6268489Z             {
2026-06-16T08:24:18.6268617Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6268703Z               "line": 82
2026-06-16T08:24:18.6268785Z             },
2026-06-16T08:24:18.6268861Z             {
2026-06-16T08:24:18.6269133Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6269223Z               "line": 100
2026-06-16T08:24:18.6269318Z             },
2026-06-16T08:24:18.6269415Z             {
2026-06-16T08:24:18.6269547Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6269627Z               "line": 110
2026-06-16T08:24:18.6269703Z             },
2026-06-16T08:24:18.6269780Z             {
2026-06-16T08:24:18.6269915Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T08:24:18.6269996Z               "line": 125
2026-06-16T08:24:18.6270073Z             },
2026-06-16T08:24:18.6270155Z             {
2026-06-16T08:24:18.6270287Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6270364Z               "line": 1044
2026-06-16T08:24:18.6270441Z             },
2026-06-16T08:24:18.6270526Z             {
2026-06-16T08:24:18.6270645Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6270732Z               "line": 1110
2026-06-16T08:24:18.6270817Z             },
2026-06-16T08:24:18.6270888Z             {
2026-06-16T08:24:18.6271008Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6271103Z               "line": 1357
2026-06-16T08:24:18.6271180Z             }
2026-06-16T08:24:18.6271265Z           ]
2026-06-16T08:24:18.6271347Z         }
2026-06-16T08:24:18.6271427Z       }
2026-06-16T08:24:18.6271504Z     },
2026-06-16T08:24:18.6271585Z     {
2026-06-16T08:24:18.6271676Z       "id": "REQ-PAIR-6",
2026-06-16T08:24:18.6271934Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-16T08:24:18.6272029Z       "requiredStages": [
2026-06-16T08:24:18.6272113Z         "impl",
2026-06-16T08:24:18.6272200Z         "unit"
2026-06-16T08:24:18.6272282Z       ],
2026-06-16T08:24:18.6272367Z       "stages": {
2026-06-16T08:24:18.6272446Z         "doc": {
2026-06-16T08:24:18.6272541Z           "complete": false,
2026-06-16T08:24:18.6272638Z           "evidence": []
2026-06-16T08:24:18.6272720Z         },
2026-06-16T08:24:18.6272799Z         "impl": {
2026-06-16T08:24:18.6272880Z           "complete": true,
2026-06-16T08:24:18.6272963Z           "evidence": [
2026-06-16T08:24:18.6273039Z             {
2026-06-16T08:24:18.6273147Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6273234Z               "line": 3014
2026-06-16T08:24:18.6273306Z             },
2026-06-16T08:24:18.6273382Z             {
2026-06-16T08:24:18.6273481Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6273568Z               "line": 3395
2026-06-16T08:24:18.6273648Z             },
2026-06-16T08:24:18.6273734Z             {
2026-06-16T08:24:18.6273849Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.6273935Z               "line": 18
2026-06-16T08:24:18.6274020Z             },
2026-06-16T08:24:18.6274101Z             {
2026-06-16T08:24:18.6274217Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.6274306Z               "line": 49
2026-06-16T08:24:18.6274392Z             },
2026-06-16T08:24:18.6274473Z             {
2026-06-16T08:24:18.6274579Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.6274658Z               "line": 318
2026-06-16T08:24:18.6274739Z             }
2026-06-16T08:24:18.6274820Z           ]
2026-06-16T08:24:18.6274901Z         },
2026-06-16T08:24:18.6274980Z         "int": {
2026-06-16T08:24:18.6275075Z           "complete": false,
2026-06-16T08:24:18.6275156Z           "evidence": []
2026-06-16T08:24:18.6275229Z         },
2026-06-16T08:24:18.6275318Z         "unit": {
2026-06-16T08:24:18.6275520Z           "complete": true,
2026-06-16T08:24:18.6275615Z           "evidence": [
2026-06-16T08:24:18.6275700Z             {
2026-06-16T08:24:18.6275806Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6275881Z               "line": 9723
2026-06-16T08:24:18.6276062Z             },
2026-06-16T08:24:18.6276149Z             {
2026-06-16T08:24:18.6276258Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6276353Z               "line": 9740
2026-06-16T08:24:18.6276421Z             },
2026-06-16T08:24:18.6276506Z             {
2026-06-16T08:24:18.6276610Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.6276706Z               "line": 383
2026-06-16T08:24:18.6276784Z             },
2026-06-16T08:24:18.6276863Z             {
2026-06-16T08:24:18.6276968Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T08:24:18.6277046Z               "line": 392
2026-06-16T08:24:18.6277132Z             }
2026-06-16T08:24:18.6277211Z           ]
2026-06-16T08:24:18.6277302Z         }
2026-06-16T08:24:18.6277384Z       }
2026-06-16T08:24:18.6277474Z     },
2026-06-16T08:24:18.6277554Z     {
2026-06-16T08:24:18.6277639Z       "id": "REQ-PAIR-7",
2026-06-16T08:24:18.6277801Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-16T08:24:18.6277900Z       "requiredStages": [],
2026-06-16T08:24:18.6277980Z       "stages": {
2026-06-16T08:24:18.6278062Z         "doc": {
2026-06-16T08:24:18.6278153Z           "complete": false,
2026-06-16T08:24:18.6278248Z           "evidence": []
2026-06-16T08:24:18.6278324Z         },
2026-06-16T08:24:18.6278406Z         "impl": {
2026-06-16T08:24:18.6278482Z           "complete": false,
2026-06-16T08:24:18.6278577Z           "evidence": []
2026-06-16T08:24:18.6278644Z         },
2026-06-16T08:24:18.6278725Z         "int": {
2026-06-16T08:24:18.6278820Z           "complete": false,
2026-06-16T08:24:18.6278905Z           "evidence": []
2026-06-16T08:24:18.6279087Z         },
2026-06-16T08:24:18.6279163Z         "unit": {
2026-06-16T08:24:18.6279283Z           "complete": false,
2026-06-16T08:24:18.6279359Z           "evidence": []
2026-06-16T08:24:18.6279449Z         }
2026-06-16T08:24:18.6279530Z       }
2026-06-16T08:24:18.6279603Z     },
2026-06-16T08:24:18.6279684Z     {
2026-06-16T08:24:18.6279773Z       "id": "REQ-PAIR-8",
2026-06-16T08:24:18.6281186Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-16T08:24:18.6281292Z       "requiredStages": [
2026-06-16T08:24:18.6281373Z         "impl",
2026-06-16T08:24:18.6281453Z         "unit"
2026-06-16T08:24:18.6281530Z       ],
2026-06-16T08:24:18.6281621Z       "stages": {
2026-06-16T08:24:18.6281706Z         "doc": {
2026-06-16T08:24:18.6281791Z           "complete": false,
2026-06-16T08:24:18.6281879Z           "evidence": []
2026-06-16T08:24:18.6281959Z         },
2026-06-16T08:24:18.6282040Z         "impl": {
2026-06-16T08:24:18.6282116Z           "complete": true,
2026-06-16T08:24:18.6282217Z           "evidence": [
2026-06-16T08:24:18.6282302Z             {
2026-06-16T08:24:18.6282426Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6282523Z               "line": 577
2026-06-16T08:24:18.6282603Z             },
2026-06-16T08:24:18.6282693Z             {
2026-06-16T08:24:18.6282814Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6282904Z               "line": 22
2026-06-16T08:24:18.6282988Z             },
2026-06-16T08:24:18.6283068Z             {
2026-06-16T08:24:18.6283188Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6283275Z               "line": 76
2026-06-16T08:24:18.6283470Z             },
2026-06-16T08:24:18.6283547Z             {
2026-06-16T08:24:18.6283674Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6283755Z               "line": 127
2026-06-16T08:24:18.6283837Z             }
2026-06-16T08:24:18.6284007Z           ]
2026-06-16T08:24:18.6284089Z         },
2026-06-16T08:24:18.6284180Z         "int": {
2026-06-16T08:24:18.6284271Z           "complete": false,
2026-06-16T08:24:18.6284361Z           "evidence": []
2026-06-16T08:24:18.6284443Z         },
2026-06-16T08:24:18.6284538Z         "unit": {
2026-06-16T08:24:18.6284628Z           "complete": true,
2026-06-16T08:24:18.6284714Z           "evidence": [
2026-06-16T08:24:18.6284806Z             {
2026-06-16T08:24:18.6284928Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6285019Z               "line": 183
2026-06-16T08:24:18.6285101Z             },
2026-06-16T08:24:18.6285186Z             {
2026-06-16T08:24:18.6285314Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6285404Z               "line": 195
2026-06-16T08:24:18.6285513Z             },
2026-06-16T08:24:18.6285607Z             {
2026-06-16T08:24:18.6285741Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6285842Z               "line": 211
2026-06-16T08:24:18.6285926Z             },
2026-06-16T08:24:18.6286012Z             {
2026-06-16T08:24:18.6286132Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T08:24:18.6286226Z               "line": 227
2026-06-16T08:24:18.6286307Z             }
2026-06-16T08:24:18.6286390Z           ]
2026-06-16T08:24:18.6286465Z         }
2026-06-16T08:24:18.6286541Z       }
2026-06-16T08:24:18.6286632Z     },
2026-06-16T08:24:18.6286705Z     {
2026-06-16T08:24:18.6286799Z       "id": "REQ-PRES-1",
2026-06-16T08:24:18.6288143Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-16T08:24:18.6288248Z       "requiredStages": [
2026-06-16T08:24:18.6288338Z         "impl",
2026-06-16T08:24:18.6288421Z         "unit",
2026-06-16T08:24:18.6288503Z         "int"
2026-06-16T08:24:18.6288584Z       ],
2026-06-16T08:24:18.6288670Z       "stages": {
2026-06-16T08:24:18.6288746Z         "doc": {
2026-06-16T08:24:18.6288841Z           "complete": true,
2026-06-16T08:24:18.6288928Z           "evidence": [
2026-06-16T08:24:18.6289093Z             {
2026-06-16T08:24:18.6289194Z               "path": "docs/DEFERRED.md",
2026-06-16T08:24:18.6289285Z               "line": 11
2026-06-16T08:24:18.6289385Z             }
2026-06-16T08:24:18.6289466Z           ]
2026-06-16T08:24:18.6289552Z         },
2026-06-16T08:24:18.6289647Z         "impl": {
2026-06-16T08:24:18.6289723Z           "complete": true,
2026-06-16T08:24:18.6289809Z           "evidence": [
2026-06-16T08:24:18.6289892Z             {
2026-06-16T08:24:18.6290009Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6290105Z               "line": 515
2026-06-16T08:24:18.6290182Z             },
2026-06-16T08:24:18.6290263Z             {
2026-06-16T08:24:18.6290381Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6290478Z               "line": 567
2026-06-16T08:24:18.6290554Z             },
2026-06-16T08:24:18.6290639Z             {
2026-06-16T08:24:18.6290752Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6290838Z               "line": 188
2026-06-16T08:24:18.6290918Z             },
2026-06-16T08:24:18.6290998Z             {
2026-06-16T08:24:18.6291117Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6291194Z               "line": 214
2026-06-16T08:24:18.6291370Z             },
2026-06-16T08:24:18.6291455Z             {
2026-06-16T08:24:18.6291561Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6291656Z               "line": 28
2026-06-16T08:24:18.6291732Z             },
2026-06-16T08:24:18.6291928Z             {
2026-06-16T08:24:18.6292046Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6292134Z               "line": 105
2026-06-16T08:24:18.6292219Z             },
2026-06-16T08:24:18.6292295Z             {
2026-06-16T08:24:18.6292419Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6292505Z               "line": 161
2026-06-16T08:24:18.6292581Z             },
2026-06-16T08:24:18.6292662Z             {
2026-06-16T08:24:18.6292778Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6292857Z               "line": 180
2026-06-16T08:24:18.6292934Z             },
2026-06-16T08:24:18.6293015Z             {
2026-06-16T08:24:18.6293140Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6293234Z               "line": 415
2026-06-16T08:24:18.6293310Z             },
2026-06-16T08:24:18.6293398Z             {
2026-06-16T08:24:18.6293525Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6293619Z               "line": 289
2026-06-16T08:24:18.6293695Z             },
2026-06-16T08:24:18.6293778Z             {
2026-06-16T08:24:18.6293901Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6293977Z               "line": 336
2026-06-16T08:24:18.6294058Z             },
2026-06-16T08:24:18.6294144Z             {
2026-06-16T08:24:18.6294262Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6294355Z               "line": 362
2026-06-16T08:24:18.6294445Z             },
2026-06-16T08:24:18.6294526Z             {
2026-06-16T08:24:18.6294630Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6294712Z               "line": 100
2026-06-16T08:24:18.6294797Z             }
2026-06-16T08:24:18.6294869Z           ]
2026-06-16T08:24:18.6294950Z         },
2026-06-16T08:24:18.6295027Z         "int": {
2026-06-16T08:24:18.6295117Z           "complete": true,
2026-06-16T08:24:18.6295216Z           "evidence": [
2026-06-16T08:24:18.6295299Z             {
2026-06-16T08:24:18.6295427Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6295503Z               "line": 559
2026-06-16T08:24:18.6295589Z             },
2026-06-16T08:24:18.6295671Z             {
2026-06-16T08:24:18.6295788Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6295883Z               "line": 723
2026-06-16T08:24:18.6295955Z             },
2026-06-16T08:24:18.6296040Z             {
2026-06-16T08:24:18.6296153Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6296243Z               "line": 1141
2026-06-16T08:24:18.6296325Z             }
2026-06-16T08:24:18.6296420Z           ]
2026-06-16T08:24:18.6296491Z         },
2026-06-16T08:24:18.6296558Z         "unit": {
2026-06-16T08:24:18.6296654Z           "complete": true,
2026-06-16T08:24:18.6296744Z           "evidence": [
2026-06-16T08:24:18.6296820Z             {
2026-06-16T08:24:18.6296936Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6297016Z               "line": 674
2026-06-16T08:24:18.6297111Z             },
2026-06-16T08:24:18.6297192Z             {
2026-06-16T08:24:18.6297312Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6297384Z               "line": 238
2026-06-16T08:24:18.6297468Z             },
2026-06-16T08:24:18.6297551Z             {
2026-06-16T08:24:18.6297673Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6297759Z               "line": 269
2026-06-16T08:24:18.6297841Z             },
2026-06-16T08:24:18.6297928Z             {
2026-06-16T08:24:18.6298041Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6298199Z               "line": 305
2026-06-16T08:24:18.6298280Z             },
2026-06-16T08:24:18.6298375Z             {
2026-06-16T08:24:18.6298490Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T08:24:18.6298572Z               "line": 336
2026-06-16T08:24:18.6298722Z             },
2026-06-16T08:24:18.6298808Z             {
2026-06-16T08:24:18.6299005Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6299095Z               "line": 1165
2026-06-16T08:24:18.6299182Z             },
2026-06-16T08:24:18.6299278Z             {
2026-06-16T08:24:18.6299387Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6299468Z               "line": 1131
2026-06-16T08:24:18.6299564Z             }
2026-06-16T08:24:18.6299663Z           ]
2026-06-16T08:24:18.6299735Z         }
2026-06-16T08:24:18.6299812Z       }
2026-06-16T08:24:18.6299893Z     },
2026-06-16T08:24:18.6299973Z     {
2026-06-16T08:24:18.6300079Z       "id": "REQ-RC-1",
2026-06-16T08:24:18.6302150Z       "title": "`spt rc <id>` — user CLI attaching a local terminal to a broker-held PTY, reusing the cross-node attach machinery (attach.rs request_attach → send_attach_input pump, spt-net AttachRecord codec); local attach is the degenerate single-node case of the cross-node path (rides REQ-TERM-3 byte-stream streaming). Read-only `--view` (watch, no stdin forwarded). Clean detach that does NOT terminate the broker-held session (KNOWN-HAZARDS: PTY ownership stays with the broker; no termination on detach). Explicit detach keybind that cannot collide with harness passthrough input (legacy capsule used a ctrl-b prefix); documented. ConPTY DSR auto-answer in the attach reader (hazard 5.5).",
2026-06-16T08:24:18.6302254Z       "requiredStages": [
2026-06-16T08:24:18.6302340Z         "impl",
2026-06-16T08:24:18.6302416Z         "unit",
2026-06-16T08:24:18.6302507Z         "int"
2026-06-16T08:24:18.6302583Z       ],
2026-06-16T08:24:18.6302660Z       "stages": {
2026-06-16T08:24:18.6302755Z         "doc": {
2026-06-16T08:24:18.6302841Z           "complete": false,
2026-06-16T08:24:18.6302931Z           "evidence": []
2026-06-16T08:24:18.6303014Z         },
2026-06-16T08:24:18.6303094Z         "impl": {
2026-06-16T08:24:18.6303193Z           "complete": true,
2026-06-16T08:24:18.6303289Z           "evidence": [
2026-06-16T08:24:18.6303366Z             {
2026-06-16T08:24:18.6303489Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.6303570Z               "line": 895
2026-06-16T08:24:18.6303653Z             },
2026-06-16T08:24:18.6303737Z             {
2026-06-16T08:24:18.6303866Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6306520Z               "line": 1168
2026-06-16T08:24:18.6306638Z             },
2026-06-16T08:24:18.6306717Z             {
2026-06-16T08:24:18.6306856Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6306948Z               "line": 890
2026-06-16T08:24:18.6307037Z             },
2026-06-16T08:24:18.6307113Z             {
2026-06-16T08:24:18.6307233Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6307319Z               "line": 924
2026-06-16T08:24:18.6307404Z             },
2026-06-16T08:24:18.6307481Z             {
2026-06-16T08:24:18.6307590Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6307671Z               "line": 22
2026-06-16T08:24:18.6307757Z             },
2026-06-16T08:24:18.6307839Z             {
2026-06-16T08:24:18.6307944Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6308033Z               "line": 181
2026-06-16T08:24:18.6308111Z             }
2026-06-16T08:24:18.6308196Z           ]
2026-06-16T08:24:18.6308273Z         },
2026-06-16T08:24:18.6308353Z         "int": {
2026-06-16T08:24:18.6308445Z           "complete": true,
2026-06-16T08:24:18.6308530Z           "evidence": [
2026-06-16T08:24:18.6308611Z             {
2026-06-16T08:24:18.6308736Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6309036Z               "line": 252
2026-06-16T08:24:18.6309113Z             },
2026-06-16T08:24:18.6309202Z             {
2026-06-16T08:24:18.6309339Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6309434Z               "line": 279
2026-06-16T08:24:18.6309618Z             },
2026-06-16T08:24:18.6309695Z             {
2026-06-16T08:24:18.6309805Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6309899Z               "line": 404
2026-06-16T08:24:18.6309980Z             }
2026-06-16T08:24:18.6310063Z           ]
2026-06-16T08:24:18.6310143Z         },
2026-06-16T08:24:18.6310228Z         "unit": {
2026-06-16T08:24:18.6310314Z           "complete": true,
2026-06-16T08:24:18.6310396Z           "evidence": [
2026-06-16T08:24:18.6310477Z             {
2026-06-16T08:24:18.6310595Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6310673Z               "line": 1245
2026-06-16T08:24:18.6310758Z             },
2026-06-16T08:24:18.6310844Z             {
2026-06-16T08:24:18.6310943Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6311026Z               "line": 421
2026-06-16T08:24:18.6311110Z             },
2026-06-16T08:24:18.6311191Z             {
2026-06-16T08:24:18.6311293Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6311379Z               "line": 450
2026-06-16T08:24:18.6311458Z             },
2026-06-16T08:24:18.6311549Z             {
2026-06-16T08:24:18.6311641Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6311736Z               "line": 463
2026-06-16T08:24:18.6311815Z             }
2026-06-16T08:24:18.6311896Z           ]
2026-06-16T08:24:18.6311977Z         }
2026-06-16T08:24:18.6312057Z       }
2026-06-16T08:24:18.6312147Z     },
2026-06-16T08:24:18.6312232Z     {
2026-06-16T08:24:18.6312328Z       "id": "REQ-RCVIEW-1",
2026-06-16T08:24:18.6316928Z       "title": "Remote-attach controller/viewer model (CONTEXT.md:317): a session's broker OutputLog serves ONE interactive controller (input + EXCLUSIVE PTY resize; its viewport sets the size, sent on attach + every window change via crossterm Event::Resize) plus ANY NUMBER of read-only `--view` attachers (output-only, no input, no resize; client-side letterbox — center+pad when larger, clip+1-line indicator when smaller; only the local ctrl-b d detach chord). Attach intent is three-valued (`Viewer | Control | Take`, wire-default Control): Control to a FREE endpoint becomes controller, Control to a CONTROLLED endpoint is REFUSED with guidance (`--view`/`--take`) — never auto-viewer, never silent-displace. Wire adds (additive, N-1 skip-unknown): `Request.intent`, `Resize{rows,cols}` (controller-only), `Size{rows,cols}` (→viewer), `Displaced{by}` (→displaced controller). The brain-resume cursor (delivered_through, ADR-0018) tracks the CONTROLLER ONLY; viewers replay from their own from_seq and never move it. Dormancy keys on the controller ONLY: controller attach wakes / controller detach goes dormant (even with viewers present); viewer attach/detach is wake-neutral and may watch a dormant endpoint as-is. v1: viewing is gated identically to driving — a viewer runs the same access_check(Unsolicited) as a controller (watching reveals full session contents = a real disclosure); a lighter distinct watch-gate is deferred to cross-subnet/finer-consent (CONTEXT.md:317 'driving ≠ watching' = the future seam).",
2026-06-16T08:24:18.6317056Z       "requiredStages": [
2026-06-16T08:24:18.6317142Z         "doc",
2026-06-16T08:24:18.6317221Z         "impl",
2026-06-16T08:24:18.6317306Z         "unit",
2026-06-16T08:24:18.6317392Z         "int"
2026-06-16T08:24:18.6317474Z       ],
2026-06-16T08:24:18.6317559Z       "stages": {
2026-06-16T08:24:18.6317644Z         "doc": {
2026-06-16T08:24:18.6317741Z           "complete": true,
2026-06-16T08:24:18.6317826Z           "evidence": [
2026-06-16T08:24:18.6317907Z             {
2026-06-16T08:24:18.6318007Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6318198Z               "line": 323
2026-06-16T08:24:18.6318278Z             }
2026-06-16T08:24:18.6318361Z           ]
2026-06-16T08:24:18.6318442Z         },
2026-06-16T08:24:18.6318522Z         "impl": {
2026-06-16T08:24:18.6318618Z           "complete": true,
2026-06-16T08:24:18.6318770Z           "evidence": [
2026-06-16T08:24:18.6318856Z             {
2026-06-16T08:24:18.6319067Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T08:24:18.6319146Z               "line": 323
2026-06-16T08:24:18.6319227Z             },
2026-06-16T08:24:18.6319311Z             {
2026-06-16T08:24:18.6319442Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6319524Z               "line": 430
2026-06-16T08:24:18.6319610Z             },
2026-06-16T08:24:18.6319687Z             {
2026-06-16T08:24:18.6319799Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6319875Z               "line": 441
2026-06-16T08:24:18.6319962Z             },
2026-06-16T08:24:18.6320037Z             {
2026-06-16T08:24:18.6320154Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.6320240Z               "line": 41
2026-06-16T08:24:18.6320317Z             },
2026-06-16T08:24:18.6320394Z             {
2026-06-16T08:24:18.6320516Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.6320598Z               "line": 62
2026-06-16T08:24:18.6320684Z             },
2026-06-16T08:24:18.6320765Z             {
2026-06-16T08:24:18.6320874Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.6320956Z               "line": 251
2026-06-16T08:24:18.6321027Z             },
2026-06-16T08:24:18.6321108Z             {
2026-06-16T08:24:18.6321208Z               "path": "crates/spt/src/rc.rs",
2026-06-16T08:24:18.6321290Z               "line": 181
2026-06-16T08:24:18.6321375Z             }
2026-06-16T08:24:18.6321451Z           ]
2026-06-16T08:24:18.6321538Z         },
2026-06-16T08:24:18.6321619Z         "int": {
2026-06-16T08:24:18.6321718Z           "complete": true,
2026-06-16T08:24:18.6321795Z           "evidence": [
2026-06-16T08:24:18.6321872Z             {
2026-06-16T08:24:18.6321995Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6322081Z               "line": 789
2026-06-16T08:24:18.6322158Z             },
2026-06-16T08:24:18.6322240Z             {
2026-06-16T08:24:18.6322366Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6322447Z               "line": 829
2026-06-16T08:24:18.6322523Z             },
2026-06-16T08:24:18.6322609Z             {
2026-06-16T08:24:18.6322716Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6322802Z               "line": 876
2026-06-16T08:24:18.6322884Z             },
2026-06-16T08:24:18.6322961Z             {
2026-06-16T08:24:18.6323064Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6323155Z               "line": 988
2026-06-16T08:24:18.6323232Z             }
2026-06-16T08:24:18.6323322Z           ]
2026-06-16T08:24:18.6323412Z         },
2026-06-16T08:24:18.6323495Z         "unit": {
2026-06-16T08:24:18.6323589Z           "complete": true,
2026-06-16T08:24:18.6323674Z           "evidence": [
2026-06-16T08:24:18.6323751Z             {
2026-06-16T08:24:18.6323871Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.6323961Z               "line": 175
2026-06-16T08:24:18.6324047Z             },
2026-06-16T08:24:18.6324124Z             {
2026-06-16T08:24:18.6324247Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T08:24:18.6324333Z               "line": 195
2026-06-16T08:24:18.6324415Z             }
2026-06-16T08:24:18.6324496Z           ]
2026-06-16T08:24:18.6324575Z         }
2026-06-16T08:24:18.6324657Z       }
2026-06-16T08:24:18.6324739Z     },
2026-06-16T08:24:18.6324820Z     {
2026-06-16T08:24:18.6324914Z       "id": "REQ-REACH-1",
2026-06-16T08:24:18.6325063Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-16T08:24:18.6325286Z       "requiredStages": [
2026-06-16T08:24:18.6325367Z         "impl",
2026-06-16T08:24:18.6325448Z         "unit",
2026-06-16T08:24:18.6325534Z         "int"
2026-06-16T08:24:18.6325614Z       ],
2026-06-16T08:24:18.6325696Z       "stages": {
2026-06-16T08:24:18.6325881Z         "doc": {
2026-06-16T08:24:18.6325981Z           "complete": false,
2026-06-16T08:24:18.6326059Z           "evidence": []
2026-06-16T08:24:18.6326135Z         },
2026-06-16T08:24:18.6326220Z         "impl": {
2026-06-16T08:24:18.6326311Z           "complete": true,
2026-06-16T08:24:18.6326393Z           "evidence": [
2026-06-16T08:24:18.6326473Z             {
2026-06-16T08:24:18.6326592Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6326679Z               "line": 430
2026-06-16T08:24:18.6326764Z             },
2026-06-16T08:24:18.6326845Z             {
2026-06-16T08:24:18.6326960Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6327046Z               "line": 76
2026-06-16T08:24:18.6327135Z             },
2026-06-16T08:24:18.6327221Z             {
2026-06-16T08:24:18.6327328Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6327417Z               "line": 222
2026-06-16T08:24:18.6327497Z             },
2026-06-16T08:24:18.6327578Z             {
2026-06-16T08:24:18.6327683Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6327772Z               "line": 422
2026-06-16T08:24:18.6327843Z             },
2026-06-16T08:24:18.6327924Z             {
2026-06-16T08:24:18.6328025Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6328105Z               "line": 529
2026-06-16T08:24:18.6328185Z             },
2026-06-16T08:24:18.6328267Z             {
2026-06-16T08:24:18.6328382Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T08:24:18.6328472Z               "line": 39
2026-06-16T08:24:18.6328548Z             },
2026-06-16T08:24:18.6328635Z             {
2026-06-16T08:24:18.6328749Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.6328838Z               "line": 243
2026-06-16T08:24:18.6328922Z             },
2026-06-16T08:24:18.6329092Z             {
2026-06-16T08:24:18.6329202Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T08:24:18.6329278Z               "line": 88
2026-06-16T08:24:18.6329354Z             },
2026-06-16T08:24:18.6329435Z             {
2026-06-16T08:24:18.6329551Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T08:24:18.6329645Z               "line": 98
2026-06-16T08:24:18.6329721Z             },
2026-06-16T08:24:18.6329797Z             {
2026-06-16T08:24:18.6329908Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6329998Z               "line": 229
2026-06-16T08:24:18.6330079Z             }
2026-06-16T08:24:18.6330156Z           ]
2026-06-16T08:24:18.6330242Z         },
2026-06-16T08:24:18.6330317Z         "int": {
2026-06-16T08:24:18.6330407Z           "complete": true,
2026-06-16T08:24:18.6330493Z           "evidence": [
2026-06-16T08:24:18.6330569Z             {
2026-06-16T08:24:18.6330691Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6330781Z               "line": 415
2026-06-16T08:24:18.6330858Z             },
2026-06-16T08:24:18.6330939Z             {
2026-06-16T08:24:18.6331062Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6331139Z               "line": 516
2026-06-16T08:24:18.6331221Z             },
2026-06-16T08:24:18.6331302Z             {
2026-06-16T08:24:18.6331415Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6331502Z               "line": 974
2026-06-16T08:24:18.6331583Z             },
2026-06-16T08:24:18.6331659Z             {
2026-06-16T08:24:18.6331778Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6331860Z               "line": 1357
2026-06-16T08:24:18.6331930Z             }
2026-06-16T08:24:18.6332016Z           ]
2026-06-16T08:24:18.6332198Z         },
2026-06-16T08:24:18.6332273Z         "unit": {
2026-06-16T08:24:18.6332369Z           "complete": true,
2026-06-16T08:24:18.6332447Z           "evidence": [
2026-06-16T08:24:18.6332527Z             {
2026-06-16T08:24:18.6332632Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6332818Z               "line": 639
2026-06-16T08:24:18.6332898Z             },
2026-06-16T08:24:18.6332983Z             {
2026-06-16T08:24:18.6333083Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T08:24:18.6333164Z               "line": 660
2026-06-16T08:24:18.6333239Z             },
2026-06-16T08:24:18.6333319Z             {
2026-06-16T08:24:18.6333444Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T08:24:18.6333526Z               "line": 646
2026-06-16T08:24:18.6333605Z             },
2026-06-16T08:24:18.6333682Z             {
2026-06-16T08:24:18.6333787Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T08:24:18.6333878Z               "line": 93
2026-06-16T08:24:18.6333958Z             },
2026-06-16T08:24:18.6334040Z             {
2026-06-16T08:24:18.6334159Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T08:24:18.6334239Z               "line": 224
2026-06-16T08:24:18.6334316Z             },
2026-06-16T08:24:18.6334398Z             {
2026-06-16T08:24:18.6334507Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T08:24:18.6334592Z               "line": 96
2026-06-16T08:24:18.6334674Z             },
2026-06-16T08:24:18.6334751Z             {
2026-06-16T08:24:18.6334846Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T08:24:18.6334927Z               "line": 146
2026-06-16T08:24:18.6335004Z             },
2026-06-16T08:24:18.6335084Z             {
2026-06-16T08:24:18.6335189Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.6335260Z               "line": 572
2026-06-16T08:24:18.6335343Z             },
2026-06-16T08:24:18.6335422Z             {
2026-06-16T08:24:18.6335532Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T08:24:18.6335615Z               "line": 118
2026-06-16T08:24:18.6335700Z             },
2026-06-16T08:24:18.6335779Z             {
2026-06-16T08:24:18.6335888Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T08:24:18.6335979Z               "line": 148
2026-06-16T08:24:18.6336052Z             },
2026-06-16T08:24:18.6336132Z             {
2026-06-16T08:24:18.6336246Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6336342Z               "line": 924
2026-06-16T08:24:18.6336423Z             }
2026-06-16T08:24:18.6336503Z           ]
2026-06-16T08:24:18.6336585Z         }
2026-06-16T08:24:18.6336666Z       }
2026-06-16T08:24:18.6336747Z     },
2026-06-16T08:24:18.6336823Z     {
2026-06-16T08:24:18.6336914Z       "id": "REQ-REACH-2",
2026-06-16T08:24:18.6337067Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-16T08:24:18.6337166Z       "requiredStages": [],
2026-06-16T08:24:18.6337248Z       "stages": {
2026-06-16T08:24:18.6337324Z         "doc": {
2026-06-16T08:24:18.6337419Z           "complete": false,
2026-06-16T08:24:18.6337505Z           "evidence": []
2026-06-16T08:24:18.6337578Z         },
2026-06-16T08:24:18.6337662Z         "impl": {
2026-06-16T08:24:18.6337743Z           "complete": false,
2026-06-16T08:24:18.6337824Z           "evidence": []
2026-06-16T08:24:18.6337907Z         },
2026-06-16T08:24:18.6337991Z         "int": {
2026-06-16T08:24:18.6338081Z           "complete": false,
2026-06-16T08:24:18.6338167Z           "evidence": []
2026-06-16T08:24:18.6338248Z         },
2026-06-16T08:24:18.6338327Z         "unit": {
2026-06-16T08:24:18.6338422Z           "complete": false,
2026-06-16T08:24:18.6338512Z           "evidence": []
2026-06-16T08:24:18.6338594Z         }
2026-06-16T08:24:18.6338675Z       }
2026-06-16T08:24:18.6338755Z     },
2026-06-16T08:24:18.6338837Z     {
2026-06-16T08:24:18.6338928Z       "id": "REQ-REL-1",
2026-06-16T08:24:18.6339472Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-16T08:24:18.6339567Z       "requiredStages": [
2026-06-16T08:24:18.6339638Z         "doc",
2026-06-16T08:24:18.6339830Z         "impl"
2026-06-16T08:24:18.6339905Z       ],
2026-06-16T08:24:18.6339991Z       "stages": {
2026-06-16T08:24:18.6340067Z         "doc": {
2026-06-16T08:24:18.6340168Z           "complete": true,
2026-06-16T08:24:18.6340253Z           "evidence": [
2026-06-16T08:24:18.6340339Z             {
2026-06-16T08:24:18.6340553Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-16T08:24:18.6340639Z               "line": 3
2026-06-16T08:24:18.6340721Z             }
2026-06-16T08:24:18.6340802Z           ]
2026-06-16T08:24:18.6340882Z         },
2026-06-16T08:24:18.6340962Z         "impl": {
2026-06-16T08:24:18.6341057Z           "complete": true,
2026-06-16T08:24:18.6341134Z           "evidence": [
2026-06-16T08:24:18.6341213Z             {
2026-06-16T08:24:18.6341336Z               "path": ".github/workflows/docs-publish.yml",
2026-06-16T08:24:18.6341418Z               "line": 11
2026-06-16T08:24:18.6341499Z             },
2026-06-16T08:24:18.6341585Z             {
2026-06-16T08:24:18.6341694Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6341781Z               "line": 265
2026-06-16T08:24:18.6341862Z             }
2026-06-16T08:24:18.6341946Z           ]
2026-06-16T08:24:18.6342024Z         },
2026-06-16T08:24:18.6342105Z         "int": {
2026-06-16T08:24:18.6342191Z           "complete": false,
2026-06-16T08:24:18.6342280Z           "evidence": []
2026-06-16T08:24:18.6342358Z         },
2026-06-16T08:24:18.6342448Z         "unit": {
2026-06-16T08:24:18.6342543Z           "complete": false,
2026-06-16T08:24:18.6342624Z           "evidence": []
2026-06-16T08:24:18.6342716Z         }
2026-06-16T08:24:18.6342796Z       }
2026-06-16T08:24:18.6342877Z     },
2026-06-16T08:24:18.6342958Z     {
2026-06-16T08:24:18.6343045Z       "id": "REQ-REL-2",
2026-06-16T08:24:18.6343524Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-16T08:24:18.6343624Z       "requiredStages": [
2026-06-16T08:24:18.6343705Z         "impl",
2026-06-16T08:24:18.6343780Z         "int"
2026-06-16T08:24:18.6343865Z       ],
2026-06-16T08:24:18.6343942Z       "stages": {
2026-06-16T08:24:18.6344028Z         "doc": {
2026-06-16T08:24:18.6344118Z           "complete": true,
2026-06-16T08:24:18.6344199Z           "evidence": [
2026-06-16T08:24:18.6344281Z             {
2026-06-16T08:24:18.6344380Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-16T08:24:18.6344471Z               "line": 6
2026-06-16T08:24:18.6344552Z             }
2026-06-16T08:24:18.6344639Z           ]
2026-06-16T08:24:18.6344714Z         },
2026-06-16T08:24:18.6344790Z         "impl": {
2026-06-16T08:24:18.6344886Z           "complete": true,
2026-06-16T08:24:18.6344963Z           "evidence": [
2026-06-16T08:24:18.6345047Z             {
2026-06-16T08:24:18.6345162Z               "path": ".github/workflows/release.yml",
2026-06-16T08:24:18.6345244Z               "line": 16
2026-06-16T08:24:18.6345334Z             },
2026-06-16T08:24:18.6345415Z             {
2026-06-16T08:24:18.6345525Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6345602Z               "line": 352
2026-06-16T08:24:18.6345682Z             },
2026-06-16T08:24:18.6345763Z             {
2026-06-16T08:24:18.6345865Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6345950Z               "line": 426
2026-06-16T08:24:18.6346025Z             },
2026-06-16T08:24:18.6346106Z             {
2026-06-16T08:24:18.6346208Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6346302Z               "line": 588
2026-06-16T08:24:18.6346382Z             },
2026-06-16T08:24:18.6346564Z             {
2026-06-16T08:24:18.6346673Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6346754Z               "line": 720
2026-06-16T08:24:18.6346830Z             }
2026-06-16T08:24:18.6346912Z           ]
2026-06-16T08:24:18.6347002Z         },
2026-06-16T08:24:18.6347141Z         "int": {
2026-06-16T08:24:18.6347231Z           "complete": true,
2026-06-16T08:24:18.6347321Z           "evidence": [
2026-06-16T08:24:18.6347402Z             {
2026-06-16T08:24:18.6347537Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-16T08:24:18.6347617Z               "line": 13
2026-06-16T08:24:18.6347697Z             }
2026-06-16T08:24:18.6347780Z           ]
2026-06-16T08:24:18.6347870Z         },
2026-06-16T08:24:18.6347951Z         "unit": {
2026-06-16T08:24:18.6348032Z           "complete": false,
2026-06-16T08:24:18.6348123Z           "evidence": []
2026-06-16T08:24:18.6348195Z         }
2026-06-16T08:24:18.6348284Z       }
2026-06-16T08:24:18.6348361Z     },
2026-06-16T08:24:18.6348453Z     {
2026-06-16T08:24:18.6348542Z       "id": "REQ-REL-3",
2026-06-16T08:24:18.6349034Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-16T08:24:18.6349135Z       "requiredStages": [
2026-06-16T08:24:18.6349220Z         "impl",
2026-06-16T08:24:18.6349297Z         "unit"
2026-06-16T08:24:18.6349387Z       ],
2026-06-16T08:24:18.6349469Z       "stages": {
2026-06-16T08:24:18.6349554Z         "doc": {
2026-06-16T08:24:18.6349644Z           "complete": false,
2026-06-16T08:24:18.6349722Z           "evidence": []
2026-06-16T08:24:18.6349802Z         },
2026-06-16T08:24:18.6349892Z         "impl": {
2026-06-16T08:24:18.6349978Z           "complete": true,
2026-06-16T08:24:18.6350070Z           "evidence": [
2026-06-16T08:24:18.6350155Z             {
2026-06-16T08:24:18.6350279Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6350380Z               "line": 237
2026-06-16T08:24:18.6350460Z             },
2026-06-16T08:24:18.6350541Z             {
2026-06-16T08:24:18.6350656Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6350747Z               "line": 289
2026-06-16T08:24:18.6350827Z             },
2026-06-16T08:24:18.6350899Z             {
2026-06-16T08:24:18.6351015Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6351094Z               "line": 329
2026-06-16T08:24:18.6351175Z             },
2026-06-16T08:24:18.6351257Z             {
2026-06-16T08:24:18.6351358Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6351447Z               "line": 353
2026-06-16T08:24:18.6351522Z             },
2026-06-16T08:24:18.6351604Z             {
2026-06-16T08:24:18.6351703Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6351797Z               "line": 394
2026-06-16T08:24:18.6351872Z             }
2026-06-16T08:24:18.6351944Z           ]
2026-06-16T08:24:18.6352022Z         },
2026-06-16T08:24:18.6352107Z         "int": {
2026-06-16T08:24:18.6352192Z           "complete": false,
2026-06-16T08:24:18.6352274Z           "evidence": []
2026-06-16T08:24:18.6352351Z         },
2026-06-16T08:24:18.6352436Z         "unit": {
2026-06-16T08:24:18.6352530Z           "complete": true,
2026-06-16T08:24:18.6352623Z           "evidence": [
2026-06-16T08:24:18.6352703Z             {
2026-06-16T08:24:18.6352817Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6352898Z               "line": 992
2026-06-16T08:24:18.6352980Z             },
2026-06-16T08:24:18.6353060Z             {
2026-06-16T08:24:18.6353175Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6353271Z               "line": 1051
2026-06-16T08:24:18.6353346Z             }
2026-06-16T08:24:18.6353432Z           ]
2026-06-16T08:24:18.6353509Z         }
2026-06-16T08:24:18.6353591Z       }
2026-06-16T08:24:18.6353680Z     },
2026-06-16T08:24:18.6353877Z     {
2026-06-16T08:24:18.6353976Z       "id": "REQ-RUN-PICKER",
2026-06-16T08:24:18.6358760Z       "title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) enters an in-process picker (flags-present = the REQ-HOST-RUN-1 non-interactive path, untouched). Layer 1 picks kind (Create new | Pick existing). Create-new: choose a registered kind=\"harness\" adapter with its shipped+local profiles tree-nested (registry::registered / manifest.profiles / local_profile_names) → enter a charset-validated id → start. Pick-existing: category select (left/right) over [<cwd-project> | Local node | Subnet], endpoints grouped + alphabetically sorted per category, a status square per endpoint (online green ■ / offline gray ▢ — the blue \"attached\" tri-state + Kick are DEFERRED to a broker attach-presence slice, M12-W2-RULING Q1), type-to-filter (`/`, nucleo-matcher), a pinned keybind legend, and a right-half two-pane description (harness adapter:profile · best-effort project history newest→oldest from the contextstore p-<project> branches, empty-if-none · `spt endpoint description`). Confirm layer offers status-dependent options — Attach/Start/View (rc pump / cmd_endpoint_run) · Instantiate-locally (remote) · Change-harness-adapter (offline) · Fork (cmd_fork) · Resume-from-history (offline+LOCAL only; enumerate spt_store::sessions::last_k, titles `<project> @ <ts> (…id5)`, feed session_id → cmd_endpoint_run --resume). A single action enum is the source of truth so a future tap-mode (phone PTY) layers on without re-coupling to keybinds. EVERY terminal action routes through cmd_endpoint_run / existing CLI fns — no second bringup path.",
2026-06-16T08:24:18.6359060Z       "requiredStages": [
2026-06-16T08:24:18.6359154Z         "doc",
2026-06-16T08:24:18.6359239Z         "impl",
2026-06-16T08:24:18.6359325Z         "unit"
2026-06-16T08:24:18.6359410Z       ],
2026-06-16T08:24:18.6359494Z       "stages": {
2026-06-16T08:24:18.6359575Z         "doc": {
2026-06-16T08:24:18.6359686Z           "complete": true,
2026-06-16T08:24:18.6359767Z           "evidence": [
2026-06-16T08:24:18.6359852Z             {
2026-06-16T08:24:18.6359948Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6360034Z               "line": 327
2026-06-16T08:24:18.6360119Z             }
2026-06-16T08:24:18.6360205Z           ]
2026-06-16T08:24:18.6360282Z         },
2026-06-16T08:24:18.6360372Z         "impl": {
2026-06-16T08:24:18.6360462Z           "complete": true,
2026-06-16T08:24:18.6360553Z           "evidence": [
2026-06-16T08:24:18.6360630Z             {
2026-06-16T08:24:18.6360744Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6360824Z               "line": 911
2026-06-16T08:24:18.6360911Z             },
2026-06-16T08:24:18.6361001Z             {
2026-06-16T08:24:18.6361101Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6361202Z               "line": 921
2026-06-16T08:24:18.6361284Z             },
2026-06-16T08:24:18.6361363Z             {
2026-06-16T08:24:18.6361483Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T08:24:18.6361565Z               "line": 9
2026-06-16T08:24:18.6361650Z             },
2026-06-16T08:24:18.6361731Z             {
2026-06-16T08:24:18.6361842Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T08:24:18.6361923Z               "line": 67
2026-06-16T08:24:18.6362002Z             },
2026-06-16T08:24:18.6362078Z             {
2026-06-16T08:24:18.6362192Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-16T08:24:18.6362291Z               "line": 16
2026-06-16T08:24:18.6362371Z             },
2026-06-16T08:24:18.6362451Z             {
2026-06-16T08:24:18.6362562Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-16T08:24:18.6362643Z               "line": 249
2026-06-16T08:24:18.6362724Z             },
2026-06-16T08:24:18.6362800Z             {
2026-06-16T08:24:18.6362920Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6363005Z               "line": 11
2026-06-16T08:24:18.6363202Z             },
2026-06-16T08:24:18.6363278Z             {
2026-06-16T08:24:18.6363396Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6363478Z               "line": 85
2026-06-16T08:24:18.6363559Z             },
2026-06-16T08:24:18.6363730Z             {
2026-06-16T08:24:18.6363841Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6363926Z               "line": 452
2026-06-16T08:24:18.6364002Z             },
2026-06-16T08:24:18.6364089Z             {
2026-06-16T08:24:18.6364203Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6364283Z               "line": 533
2026-06-16T08:24:18.6364369Z             },
2026-06-16T08:24:18.6364452Z             {
2026-06-16T08:24:18.6364560Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6364640Z               "line": 586
2026-06-16T08:24:18.6364725Z             },
2026-06-16T08:24:18.6364806Z             {
2026-06-16T08:24:18.6364919Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6365004Z               "line": 8
2026-06-16T08:24:18.6365081Z             }
2026-06-16T08:24:18.6365172Z           ]
2026-06-16T08:24:18.6365258Z         },
2026-06-16T08:24:18.6365338Z         "int": {
2026-06-16T08:24:18.6365439Z           "complete": false,
2026-06-16T08:24:18.6365525Z           "evidence": []
2026-06-16T08:24:18.6365610Z         },
2026-06-16T08:24:18.6365691Z         "unit": {
2026-06-16T08:24:18.6365787Z           "complete": true,
2026-06-16T08:24:18.6365863Z           "evidence": [
2026-06-16T08:24:18.6365944Z             {
2026-06-16T08:24:18.6366045Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6366140Z               "line": 6608
2026-06-16T08:24:18.6366230Z             },
2026-06-16T08:24:18.6366306Z             {
2026-06-16T08:24:18.6366403Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6366492Z               "line": 6619
2026-06-16T08:24:18.6366578Z             },
2026-06-16T08:24:18.6366660Z             {
2026-06-16T08:24:18.6366774Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6366860Z               "line": 737
2026-06-16T08:24:18.6366941Z             },
2026-06-16T08:24:18.6367032Z             {
2026-06-16T08:24:18.6367131Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6367222Z               "line": 744
2026-06-16T08:24:18.6367304Z             },
2026-06-16T08:24:18.6367390Z             {
2026-06-16T08:24:18.6367507Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6367583Z               "line": 761
2026-06-16T08:24:18.6367669Z             },
2026-06-16T08:24:18.6367742Z             {
2026-06-16T08:24:18.6367850Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6367936Z               "line": 781
2026-06-16T08:24:18.6368009Z             },
2026-06-16T08:24:18.6368085Z             {
2026-06-16T08:24:18.6368198Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6368285Z               "line": 795
2026-06-16T08:24:18.6368366Z             },
2026-06-16T08:24:18.6368447Z             {
2026-06-16T08:24:18.6368565Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6368657Z               "line": 804
2026-06-16T08:24:18.6368742Z             },
2026-06-16T08:24:18.6368818Z             {
2026-06-16T08:24:18.6369005Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6369091Z               "line": 815
2026-06-16T08:24:18.6369171Z             },
2026-06-16T08:24:18.6369253Z             {
2026-06-16T08:24:18.6369362Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6369461Z               "line": 837
2026-06-16T08:24:18.6369544Z             },
2026-06-16T08:24:18.6369676Z             {
2026-06-16T08:24:18.6369813Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6369909Z               "line": 856
2026-06-16T08:24:18.6369989Z             },
2026-06-16T08:24:18.6370159Z             {
2026-06-16T08:24:18.6370279Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6370369Z               "line": 893
2026-06-16T08:24:18.6370450Z             },
2026-06-16T08:24:18.6370522Z             {
2026-06-16T08:24:18.6370731Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6370818Z               "line": 922
2026-06-16T08:24:18.6370900Z             },
2026-06-16T08:24:18.6370980Z             {
2026-06-16T08:24:18.6371094Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6371186Z               "line": 935
2026-06-16T08:24:18.6371266Z             },
2026-06-16T08:24:18.6371351Z             {
2026-06-16T08:24:18.6371467Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6371548Z               "line": 979
2026-06-16T08:24:18.6371634Z             },
2026-06-16T08:24:18.6371714Z             {
2026-06-16T08:24:18.6371830Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6371914Z               "line": 1006
2026-06-16T08:24:18.6371990Z             },
2026-06-16T08:24:18.6372067Z             {
2026-06-16T08:24:18.6372168Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T08:24:18.6372257Z               "line": 1022
2026-06-16T08:24:18.6372348Z             },
2026-06-16T08:24:18.6372421Z             {
2026-06-16T08:24:18.6372530Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6372614Z               "line": 419
2026-06-16T08:24:18.6372694Z             },
2026-06-16T08:24:18.6372776Z             {
2026-06-16T08:24:18.6372889Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6372969Z               "line": 431
2026-06-16T08:24:18.6373060Z             },
2026-06-16T08:24:18.6373142Z             {
2026-06-16T08:24:18.6373241Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6373331Z               "line": 449
2026-06-16T08:24:18.6373414Z             },
2026-06-16T08:24:18.6373489Z             {
2026-06-16T08:24:18.6373594Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6373690Z               "line": 471
2026-06-16T08:24:18.6373780Z             },
2026-06-16T08:24:18.6373862Z             {
2026-06-16T08:24:18.6373975Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6374053Z               "line": 481
2026-06-16T08:24:18.6374137Z             },
2026-06-16T08:24:18.6374218Z             {
2026-06-16T08:24:18.6374334Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T08:24:18.6374420Z               "line": 504
2026-06-16T08:24:18.6374495Z             }
2026-06-16T08:24:18.6374576Z           ]
2026-06-16T08:24:18.6374654Z         }
2026-06-16T08:24:18.6374739Z       }
2026-06-16T08:24:18.6374819Z     },
2026-06-16T08:24:18.6374901Z     {
2026-06-16T08:24:18.6375002Z       "id": "REQ-RUN-SHORTCUT",
2026-06-16T08:24:18.6379755Z       "title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4): from any pre-start options set the picker writes/updates a `<basename>-<id>` launcher at the project root baking the current selection's non-interactive `spt endpoint run` flags (terminal actions only: adapter[:profile] + id + (create|resume) + (start|attach|view); Kick/Instantiate/Change-adapter/Fork are interactive-only, not bakeable). BASENAME IS A PARAMETER (operator rev. 2026-06-14): harness-agnostic spt-core defaults to `spt` (→ `spt-<id>`); an adapter/flow OVERRIDES it (spt-claude-code → `cc`), so spt-core NEVER bakes `cc` (a harness name) into itself. The basename must be a DISTINCT token, never bare `spt` (a `spt.cmd` would shadow the real `spt.exe` only under cmd.exe cwd-first search, silently no-op in PowerShell/Unix, and self-recurse). The script is the CURRENT OS's native form — `.cmd` on Windows (NOT `.ps1`: default PATHEXT excludes `.ps1` so a bare/ext-less name never resolves one; `.cmd` is PATHEXT-resolvable), POSIX `sh` (+chmod +x) on Unix (a single portable form can't be both). The generated header documents the invocation reality (cmd.exe bare `<name>` in the project dir / PowerShell `.\\<name>` / Unix `./<name>`; a truly-bare basename on PATH = a PATH-installed launcher, `/spt:setup`'s job). Overwrite is SENTINEL-guarded: the generator writes + checks a generated-by header marker — it overwrites its own prior output freely, but REFUSES + warns if a same-named file lacks the sentinel (never clobber a user file). Requires the additive `--create` flag on `Run{}` (the default-fresh made explicit; N-1-safe).",
2026-06-16T08:24:18.6380075Z       "requiredStages": [
2026-06-16T08:24:18.6380176Z         "doc",
2026-06-16T08:24:18.6380256Z         "impl",
2026-06-16T08:24:18.6380331Z         "unit"
2026-06-16T08:24:18.6380412Z       ],
2026-06-16T08:24:18.6380503Z       "stages": {
2026-06-16T08:24:18.6380582Z         "doc": {
2026-06-16T08:24:18.6380667Z           "complete": true,
2026-06-16T08:24:18.6380758Z           "evidence": [
2026-06-16T08:24:18.6380844Z             {
2026-06-16T08:24:18.6380939Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6381034Z               "line": 350
2026-06-16T08:24:18.6381111Z             }
2026-06-16T08:24:18.6381192Z           ]
2026-06-16T08:24:18.6381272Z         },
2026-06-16T08:24:18.6381353Z         "impl": {
2026-06-16T08:24:18.6383925Z           "complete": true,
2026-06-16T08:24:18.6384035Z           "evidence": [
2026-06-16T08:24:18.6384116Z             {
2026-06-16T08:24:18.6384255Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6384346Z               "line": 39
2026-06-16T08:24:18.6384422Z             },
2026-06-16T08:24:18.6384497Z             {
2026-06-16T08:24:18.6384622Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6384698Z               "line": 79
2026-06-16T08:24:18.6384783Z             },
2026-06-16T08:24:18.6384860Z             {
2026-06-16T08:24:18.6384980Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6385064Z               "line": 162
2026-06-16T08:24:18.6385151Z             }
2026-06-16T08:24:18.6385233Z           ]
2026-06-16T08:24:18.6385309Z         },
2026-06-16T08:24:18.6385398Z         "int": {
2026-06-16T08:24:18.6385524Z           "complete": false,
2026-06-16T08:24:18.6385619Z           "evidence": []
2026-06-16T08:24:18.6385703Z         },
2026-06-16T08:24:18.6385793Z         "unit": {
2026-06-16T08:24:18.6385889Z           "complete": true,
2026-06-16T08:24:18.6385978Z           "evidence": [
2026-06-16T08:24:18.6386063Z             {
2026-06-16T08:24:18.6386182Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6386278Z               "line": 206
2026-06-16T08:24:18.6386358Z             },
2026-06-16T08:24:18.6386439Z             {
2026-06-16T08:24:18.6386560Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6386645Z               "line": 222
2026-06-16T08:24:18.6386725Z             },
2026-06-16T08:24:18.6386807Z             {
2026-06-16T08:24:18.6386931Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6387016Z               "line": 238
2026-06-16T08:24:18.6387097Z             },
2026-06-16T08:24:18.6387180Z             {
2026-06-16T08:24:18.6387288Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6387374Z               "line": 251
2026-06-16T08:24:18.6387460Z             },
2026-06-16T08:24:18.6387589Z             {
2026-06-16T08:24:18.6387703Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T08:24:18.6387785Z               "line": 258
2026-06-16T08:24:18.6387866Z             }
2026-06-16T08:24:18.6387936Z           ]
2026-06-16T08:24:18.6388023Z         }
2026-06-16T08:24:18.6388105Z       }
2026-06-16T08:24:18.6388190Z     },
2026-06-16T08:24:18.6388270Z     {
2026-06-16T08:24:18.6388376Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-16T08:24:18.6388556Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-16T08:24:18.6388655Z       "requiredStages": [
2026-06-16T08:24:18.6388843Z         "impl",
2026-06-16T08:24:18.6388918Z         "unit"
2026-06-16T08:24:18.6389076Z       ],
2026-06-16T08:24:18.6389153Z       "stages": {
2026-06-16T08:24:18.6389242Z         "doc": {
2026-06-16T08:24:18.6389342Z           "complete": false,
2026-06-16T08:24:18.6389529Z           "evidence": []
2026-06-16T08:24:18.6389614Z         },
2026-06-16T08:24:18.6389691Z         "impl": {
2026-06-16T08:24:18.6389791Z           "complete": true,
2026-06-16T08:24:18.6389867Z           "evidence": [
2026-06-16T08:24:18.6389952Z             {
2026-06-16T08:24:18.6390073Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6390163Z               "line": 18
2026-06-16T08:24:18.6390249Z             },
2026-06-16T08:24:18.6390335Z             {
2026-06-16T08:24:18.6390449Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6390539Z               "line": 35
2026-06-16T08:24:18.6390611Z             },
2026-06-16T08:24:18.6390703Z             {
2026-06-16T08:24:18.6390820Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6390905Z               "line": 72
2026-06-16T08:24:18.6390977Z             }
2026-06-16T08:24:18.6391058Z           ]
2026-06-16T08:24:18.6391171Z         },
2026-06-16T08:24:18.6391260Z         "int": {
2026-06-16T08:24:18.6391351Z           "complete": false,
2026-06-16T08:24:18.6391452Z           "evidence": []
2026-06-16T08:24:18.6391541Z         },
2026-06-16T08:24:18.6391623Z         "unit": {
2026-06-16T08:24:18.6391715Z           "complete": true,
2026-06-16T08:24:18.6391800Z           "evidence": [
2026-06-16T08:24:18.6391880Z             {
2026-06-16T08:24:18.6391996Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6392076Z               "line": 239
2026-06-16T08:24:18.6392152Z             },
2026-06-16T08:24:18.6392233Z             {
2026-06-16T08:24:18.6392353Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6392439Z               "line": 256
2026-06-16T08:24:18.6392519Z             },
2026-06-16T08:24:18.6392597Z             {
2026-06-16T08:24:18.6392701Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6392782Z               "line": 265
2026-06-16T08:24:18.6392853Z             }
2026-06-16T08:24:18.6392935Z           ]
2026-06-16T08:24:18.6393016Z         }
2026-06-16T08:24:18.6393097Z       }
2026-06-16T08:24:18.6393178Z     },
2026-06-16T08:24:18.6393260Z     {
2026-06-16T08:24:18.6393368Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-16T08:24:18.6393517Z       "title": "Hostable endpoint-types capability declaration",
2026-06-16T08:24:18.6393613Z       "requiredStages": [
2026-06-16T08:24:18.6393702Z         "impl",
2026-06-16T08:24:18.6393787Z         "unit"
2026-06-16T08:24:18.6393868Z       ],
2026-06-16T08:24:18.6393949Z       "stages": {
2026-06-16T08:24:18.6394038Z         "doc": {
2026-06-16T08:24:18.6394123Z           "complete": false,
2026-06-16T08:24:18.6394214Z           "evidence": []
2026-06-16T08:24:18.6394300Z         },
2026-06-16T08:24:18.6394380Z         "impl": {
2026-06-16T08:24:18.6394475Z           "complete": true,
2026-06-16T08:24:18.6394558Z           "evidence": [
2026-06-16T08:24:18.6394639Z             {
2026-06-16T08:24:18.6394762Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6394858Z               "line": 594
2026-06-16T08:24:18.6394934Z             }
2026-06-16T08:24:18.6395015Z           ]
2026-06-16T08:24:18.6395096Z         },
2026-06-16T08:24:18.6395182Z         "int": {
2026-06-16T08:24:18.6395272Z           "complete": false,
2026-06-16T08:24:18.6395358Z           "evidence": []
2026-06-16T08:24:18.6395439Z         },
2026-06-16T08:24:18.6395512Z         "unit": {
2026-06-16T08:24:18.6395596Z           "complete": true,
2026-06-16T08:24:18.6395687Z           "evidence": [
2026-06-16T08:24:18.6395769Z             {
2026-06-16T08:24:18.6395888Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6395968Z               "line": 963
2026-06-16T08:24:18.6396141Z             }
2026-06-16T08:24:18.6396221Z           ]
2026-06-16T08:24:18.6396292Z         }
2026-06-16T08:24:18.6396372Z       }
2026-06-16T08:24:18.6396454Z     },
2026-06-16T08:24:18.6396539Z     {
2026-06-16T08:24:18.6396633Z       "id": "REQ-SEAM-HISTORY",
2026-06-16T08:24:18.6396886Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-16T08:24:18.6396985Z       "requiredStages": [
2026-06-16T08:24:18.6397067Z         "impl",
2026-06-16T08:24:18.6397153Z         "unit",
2026-06-16T08:24:18.6397233Z         "int"
2026-06-16T08:24:18.6397319Z       ],
2026-06-16T08:24:18.6397401Z       "stages": {
2026-06-16T08:24:18.6397481Z         "doc": {
2026-06-16T08:24:18.6397576Z           "complete": false,
2026-06-16T08:24:18.6397662Z           "evidence": []
2026-06-16T08:24:18.6397745Z         },
2026-06-16T08:24:18.6397824Z         "impl": {
2026-06-16T08:24:18.6397915Z           "complete": true,
2026-06-16T08:24:18.6397996Z           "evidence": [
2026-06-16T08:24:18.6398083Z             {
2026-06-16T08:24:18.6398202Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.6398283Z               "line": 24
2026-06-16T08:24:18.6398360Z             },
2026-06-16T08:24:18.6398435Z             {
2026-06-16T08:24:18.6398549Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6398626Z               "line": 22
2026-06-16T08:24:18.6398704Z             }
2026-06-16T08:24:18.6398774Z           ]
2026-06-16T08:24:18.6398855Z         },
2026-06-16T08:24:18.6399018Z         "int": {
2026-06-16T08:24:18.6399112Z           "complete": true,
2026-06-16T08:24:18.6399197Z           "evidence": [
2026-06-16T08:24:18.6399278Z             {
2026-06-16T08:24:18.6399422Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.6399507Z               "line": 260
2026-06-16T08:24:18.6399588Z             }
2026-06-16T08:24:18.6399670Z           ]
2026-06-16T08:24:18.6399736Z         },
2026-06-16T08:24:18.6399821Z         "unit": {
2026-06-16T08:24:18.6399907Z           "complete": true,
2026-06-16T08:24:18.6399999Z           "evidence": [
2026-06-16T08:24:18.6400075Z             {
2026-06-16T08:24:18.6400189Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.6400280Z               "line": 171
2026-06-16T08:24:18.6400356Z             },
2026-06-16T08:24:18.6400442Z             {
2026-06-16T08:24:18.6400551Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.6400638Z               "line": 200
2026-06-16T08:24:18.6400723Z             },
2026-06-16T08:24:18.6400809Z             {
2026-06-16T08:24:18.6400915Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T08:24:18.6400995Z               "line": 220
2026-06-16T08:24:18.6401075Z             },
2026-06-16T08:24:18.6401157Z             {
2026-06-16T08:24:18.6401272Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6401352Z               "line": 199
2026-06-16T08:24:18.6401441Z             },
2026-06-16T08:24:18.6401518Z             {
2026-06-16T08:24:18.6401623Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6401702Z               "line": 219
2026-06-16T08:24:18.6401782Z             },
2026-06-16T08:24:18.6401864Z             {
2026-06-16T08:24:18.6401989Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6402069Z               "line": 244
2026-06-16T08:24:18.6402150Z             },
2026-06-16T08:24:18.6402231Z             {
2026-06-16T08:24:18.6402350Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6402430Z               "line": 276
2026-06-16T08:24:18.6402518Z             },
2026-06-16T08:24:18.6402603Z             {
2026-06-16T08:24:18.6402708Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6402799Z               "line": 297
2026-06-16T08:24:18.6402866Z             },
2026-06-16T08:24:18.6402947Z             {
2026-06-16T08:24:18.6403046Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T08:24:18.6403233Z               "line": 324
2026-06-16T08:24:18.6403309Z             }
2026-06-16T08:24:18.6403389Z           ]
2026-06-16T08:24:18.6403472Z         }
2026-06-16T08:24:18.6403552Z       }
2026-06-16T08:24:18.6403632Z     },
2026-06-16T08:24:18.6403796Z     {
2026-06-16T08:24:18.6403895Z       "id": "REQ-SEAM-INJECT",
2026-06-16T08:24:18.6404058Z       "title": "inject-input methods configurable per activity-state",
2026-06-16T08:24:18.6404149Z       "requiredStages": [
2026-06-16T08:24:18.6404238Z         "impl",
2026-06-16T08:24:18.6404318Z         "unit"
2026-06-16T08:24:18.6404399Z       ],
2026-06-16T08:24:18.6404485Z       "stages": {
2026-06-16T08:24:18.6404565Z         "doc": {
2026-06-16T08:24:18.6404659Z           "complete": false,
2026-06-16T08:24:18.6404745Z           "evidence": []
2026-06-16T08:24:18.6404823Z         },
2026-06-16T08:24:18.6404898Z         "impl": {
2026-06-16T08:24:18.6404993Z           "complete": true,
2026-06-16T08:24:18.6405065Z           "evidence": [
2026-06-16T08:24:18.6405147Z             {
2026-06-16T08:24:18.6405260Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6405341Z               "line": 19
2026-06-16T08:24:18.6405418Z             },
2026-06-16T08:24:18.6405499Z             {
2026-06-16T08:24:18.6405603Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6405689Z               "line": 111
2026-06-16T08:24:18.6405771Z             }
2026-06-16T08:24:18.6405851Z           ]
2026-06-16T08:24:18.6405927Z         },
2026-06-16T08:24:18.6406009Z         "int": {
2026-06-16T08:24:18.6406105Z           "complete": false,
2026-06-16T08:24:18.6406189Z           "evidence": []
2026-06-16T08:24:18.6406271Z         },
2026-06-16T08:24:18.6406353Z         "unit": {
2026-06-16T08:24:18.6406439Z           "complete": true,
2026-06-16T08:24:18.6406513Z           "evidence": [
2026-06-16T08:24:18.6406595Z             {
2026-06-16T08:24:18.6406706Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6406800Z               "line": 345
2026-06-16T08:24:18.6406880Z             },
2026-06-16T08:24:18.6406956Z             {
2026-06-16T08:24:18.6407062Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6407141Z               "line": 365
2026-06-16T08:24:18.6407216Z             }
2026-06-16T08:24:18.6407293Z           ]
2026-06-16T08:24:18.6407384Z         }
2026-06-16T08:24:18.6407465Z       }
2026-06-16T08:24:18.6407545Z     },
2026-06-16T08:24:18.6407627Z     {
2026-06-16T08:24:18.6407732Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-16T08:24:18.6407865Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-16T08:24:18.6407956Z       "requiredStages": [
2026-06-16T08:24:18.6408037Z         "impl",
2026-06-16T08:24:18.6408118Z         "unit"
2026-06-16T08:24:18.6408203Z       ],
2026-06-16T08:24:18.6408285Z       "stages": {
2026-06-16T08:24:18.6408361Z         "doc": {
2026-06-16T08:24:18.6408456Z           "complete": false,
2026-06-16T08:24:18.6408542Z           "evidence": []
2026-06-16T08:24:18.6408624Z         },
2026-06-16T08:24:18.6408704Z         "impl": {
2026-06-16T08:24:18.6408799Z           "complete": true,
2026-06-16T08:24:18.6408891Z           "evidence": [
2026-06-16T08:24:18.6409061Z             {
2026-06-16T08:24:18.6409181Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6409264Z               "line": 18
2026-06-16T08:24:18.6409348Z             },
2026-06-16T08:24:18.6409438Z             {
2026-06-16T08:24:18.6409559Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6409644Z               "line": 330
2026-06-16T08:24:18.6409724Z             }
2026-06-16T08:24:18.6409804Z           ]
2026-06-16T08:24:18.6409886Z         },
2026-06-16T08:24:18.6409963Z         "int": {
2026-06-16T08:24:18.6410057Z           "complete": false,
2026-06-16T08:24:18.6410148Z           "evidence": []
2026-06-16T08:24:18.6410230Z         },
2026-06-16T08:24:18.6410306Z         "unit": {
2026-06-16T08:24:18.6410482Z           "complete": true,
2026-06-16T08:24:18.6410568Z           "evidence": [
2026-06-16T08:24:18.6410649Z             {
2026-06-16T08:24:18.6410758Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6410840Z               "line": 604
2026-06-16T08:24:18.6411030Z             },
2026-06-16T08:24:18.6411116Z             {
2026-06-16T08:24:18.6411226Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6411307Z               "line": 614
2026-06-16T08:24:18.6411383Z             }
2026-06-16T08:24:18.6411460Z           ]
2026-06-16T08:24:18.6411546Z         }
2026-06-16T08:24:18.6411626Z       }
2026-06-16T08:24:18.6411702Z     },
2026-06-16T08:24:18.6411780Z     {
2026-06-16T08:24:18.6411879Z       "id": "REQ-SEAM-PSYCHE",
2026-06-16T08:24:18.6412016Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-16T08:24:18.6412111Z       "requiredStages": [
2026-06-16T08:24:18.6412187Z         "impl",
2026-06-16T08:24:18.6412281Z         "unit",
2026-06-16T08:24:18.6412361Z         "int"
2026-06-16T08:24:18.6412443Z       ],
2026-06-16T08:24:18.6412525Z       "stages": {
2026-06-16T08:24:18.6412600Z         "doc": {
2026-06-16T08:24:18.6412685Z           "complete": false,
2026-06-16T08:24:18.6412777Z           "evidence": []
2026-06-16T08:24:18.6412858Z         },
2026-06-16T08:24:18.6412939Z         "impl": {
2026-06-16T08:24:18.6413034Z           "complete": true,
2026-06-16T08:24:18.6413121Z           "evidence": [
2026-06-16T08:24:18.6413206Z             {
2026-06-16T08:24:18.6413310Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T08:24:18.6413403Z               "line": 19
2026-06-16T08:24:18.6413478Z             },
2026-06-16T08:24:18.6413559Z             {
2026-06-16T08:24:18.6413668Z               "path": "crates/spt/src/api/live.rs",
2026-06-16T08:24:18.6413755Z               "line": 12
2026-06-16T08:24:18.6413835Z             },
2026-06-16T08:24:18.6413912Z             {
2026-06-16T08:24:18.6414027Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6414108Z               "line": 233
2026-06-16T08:24:18.6414193Z             }
2026-06-16T08:24:18.6414269Z           ]
2026-06-16T08:24:18.6414337Z         },
2026-06-16T08:24:18.6414427Z         "int": {
2026-06-16T08:24:18.6414517Z           "complete": true,
2026-06-16T08:24:18.6414608Z           "evidence": [
2026-06-16T08:24:18.6414686Z             {
2026-06-16T08:24:18.6414803Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.6414883Z               "line": 259
2026-06-16T08:24:18.6414964Z             }
2026-06-16T08:24:18.6415050Z           ]
2026-06-16T08:24:18.6415129Z         },
2026-06-16T08:24:18.6415214Z         "unit": {
2026-06-16T08:24:18.6415305Z           "complete": true,
2026-06-16T08:24:18.6415387Z           "evidence": [
2026-06-16T08:24:18.6415477Z             {
2026-06-16T08:24:18.6415582Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T08:24:18.6415668Z               "line": 161
2026-06-16T08:24:18.6415754Z             },
2026-06-16T08:24:18.6415835Z             {
2026-06-16T08:24:18.6415945Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T08:24:18.6416026Z               "line": 168
2026-06-16T08:24:18.6416107Z             },
2026-06-16T08:24:18.6416187Z             {
2026-06-16T08:24:18.6416303Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T08:24:18.6416393Z               "line": 191
2026-06-16T08:24:18.6416479Z             },
2026-06-16T08:24:18.6416569Z             {
2026-06-16T08:24:18.6416679Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T08:24:18.6416769Z               "line": 106
2026-06-16T08:24:18.6416850Z             },
2026-06-16T08:24:18.6416937Z             {
2026-06-16T08:24:18.6417041Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T08:24:18.6417141Z               "line": 137
2026-06-16T08:24:18.6417219Z             },
2026-06-16T08:24:18.6417299Z             {
2026-06-16T08:24:18.6417493Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T08:24:18.6417574Z               "line": 161
2026-06-16T08:24:18.6417650Z             }
2026-06-16T08:24:18.6417729Z           ]
2026-06-16T08:24:18.6417815Z         }
2026-06-16T08:24:18.6417896Z       }
2026-06-16T08:24:18.6418039Z     },
2026-06-16T08:24:18.6418120Z     {
2026-06-16T08:24:18.6418216Z       "id": "REQ-SEAM-RESUME",
2026-06-16T08:24:18.6418401Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-16T08:24:18.6418497Z       "requiredStages": [
2026-06-16T08:24:18.6418574Z         "impl",
2026-06-16T08:24:18.6418655Z         "unit"
2026-06-16T08:24:18.6418730Z       ],
2026-06-16T08:24:18.6418822Z       "stages": {
2026-06-16T08:24:18.6418903Z         "doc": {
2026-06-16T08:24:18.6419054Z           "complete": false,
2026-06-16T08:24:18.6419131Z           "evidence": []
2026-06-16T08:24:18.6419213Z         },
2026-06-16T08:24:18.6419303Z         "impl": {
2026-06-16T08:24:18.6419388Z           "complete": true,
2026-06-16T08:24:18.6419485Z           "evidence": [
2026-06-16T08:24:18.6419556Z             {
2026-06-16T08:24:18.6419665Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.6419742Z               "line": 19
2026-06-16T08:24:18.6419828Z             }
2026-06-16T08:24:18.6419904Z           ]
2026-06-16T08:24:18.6419985Z         },
2026-06-16T08:24:18.6420066Z         "int": {
2026-06-16T08:24:18.6420153Z           "complete": false,
2026-06-16T08:24:18.6420251Z           "evidence": []
2026-06-16T08:24:18.6420327Z         },
2026-06-16T08:24:18.6420408Z         "unit": {
2026-06-16T08:24:18.6420499Z           "complete": true,
2026-06-16T08:24:18.6420580Z           "evidence": [
2026-06-16T08:24:18.6420660Z             {
2026-06-16T08:24:18.6420770Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.6420861Z               "line": 201
2026-06-16T08:24:18.6420941Z             },
2026-06-16T08:24:18.6421027Z             {
2026-06-16T08:24:18.6421147Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.6421228Z               "line": 223
2026-06-16T08:24:18.6421318Z             },
2026-06-16T08:24:18.6421395Z             {
2026-06-16T08:24:18.6421505Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T08:24:18.6421585Z               "line": 244
2026-06-16T08:24:18.6421671Z             }
2026-06-16T08:24:18.6421763Z           ]
2026-06-16T08:24:18.6421838Z         }
2026-06-16T08:24:18.6421919Z       }
2026-06-16T08:24:18.6421996Z     },
2026-06-16T08:24:18.6422078Z     {
2026-06-16T08:24:18.6422171Z       "id": "REQ-SEAM-SPAWN",
2026-06-16T08:24:18.6422272Z       "title": "spawn-session seam",
2026-06-16T08:24:18.6422369Z       "requiredStages": [
2026-06-16T08:24:18.6422449Z         "impl",
2026-06-16T08:24:18.6422538Z         "unit"
2026-06-16T08:24:18.6422619Z       ],
2026-06-16T08:24:18.6422710Z       "stages": {
2026-06-16T08:24:18.6422789Z         "doc": {
2026-06-16T08:24:18.6422889Z           "complete": false,
2026-06-16T08:24:18.6422984Z           "evidence": []
2026-06-16T08:24:18.6423066Z         },
2026-06-16T08:24:18.6423141Z         "impl": {
2026-06-16T08:24:18.6423236Z           "complete": true,
2026-06-16T08:24:18.6423332Z           "evidence": [
2026-06-16T08:24:18.6423414Z             {
2026-06-16T08:24:18.6423537Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6423618Z               "line": 20
2026-06-16T08:24:18.6423695Z             }
2026-06-16T08:24:18.6423776Z           ]
2026-06-16T08:24:18.6423856Z         },
2026-06-16T08:24:18.6423943Z         "int": {
2026-06-16T08:24:18.6424033Z           "complete": false,
2026-06-16T08:24:18.6424123Z           "evidence": []
2026-06-16T08:24:18.6424209Z         },
2026-06-16T08:24:18.6424292Z         "unit": {
2026-06-16T08:24:18.6424391Z           "complete": true,
2026-06-16T08:24:18.6424481Z           "evidence": [
2026-06-16T08:24:18.6424563Z             {
2026-06-16T08:24:18.6424682Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6424873Z               "line": 435
2026-06-16T08:24:18.6424955Z             },
2026-06-16T08:24:18.6425039Z             {
2026-06-16T08:24:18.6425158Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6425330Z               "line": 442
2026-06-16T08:24:18.6425410Z             },
2026-06-16T08:24:18.6425491Z             {
2026-06-16T08:24:18.6425605Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6425685Z               "line": 452
2026-06-16T08:24:18.6425765Z             },
2026-06-16T08:24:18.6425851Z             {
2026-06-16T08:24:18.6425962Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6426056Z               "line": 458
2026-06-16T08:24:18.6426137Z             },
2026-06-16T08:24:18.6426224Z             {
2026-06-16T08:24:18.6426343Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6426428Z               "line": 483
2026-06-16T08:24:18.6426515Z             },
2026-06-16T08:24:18.6426586Z             {
2026-06-16T08:24:18.6426700Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T08:24:18.6426791Z               "line": 520
2026-06-16T08:24:18.6426863Z             }
2026-06-16T08:24:18.6426953Z           ]
2026-06-16T08:24:18.6427034Z         }
2026-06-16T08:24:18.6427125Z       }
2026-06-16T08:24:18.6427201Z     },
2026-06-16T08:24:18.6427282Z     {
2026-06-16T08:24:18.6427382Z       "id": "REQ-SEAM-UPDATE",
2026-06-16T08:24:18.6427535Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-16T08:24:18.6427634Z       "requiredStages": [
2026-06-16T08:24:18.6427711Z         "impl",
2026-06-16T08:24:18.6427798Z         "unit"
2026-06-16T08:24:18.6427879Z       ],
2026-06-16T08:24:18.6427968Z       "stages": {
2026-06-16T08:24:18.6428053Z         "doc": {
2026-06-16T08:24:18.6428148Z           "complete": false,
2026-06-16T08:24:18.6428247Z           "evidence": []
2026-06-16T08:24:18.6428331Z         },
2026-06-16T08:24:18.6428418Z         "impl": {
2026-06-16T08:24:18.6428505Z           "complete": true,
2026-06-16T08:24:18.6428599Z           "evidence": [
2026-06-16T08:24:18.6428675Z             {
2026-06-16T08:24:18.6428815Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6428914Z               "line": 28
2026-06-16T08:24:18.6429057Z             },
2026-06-16T08:24:18.6429143Z             {
2026-06-16T08:24:18.6429267Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6429357Z               "line": 83
2026-06-16T08:24:18.6429439Z             }
2026-06-16T08:24:18.6429519Z           ]
2026-06-16T08:24:18.6429600Z         },
2026-06-16T08:24:18.6429681Z         "int": {
2026-06-16T08:24:18.6429773Z           "complete": false,
2026-06-16T08:24:18.6429853Z           "evidence": []
2026-06-16T08:24:18.6429934Z         },
2026-06-16T08:24:18.6430016Z         "unit": {
2026-06-16T08:24:18.6430111Z           "complete": true,
2026-06-16T08:24:18.6430211Z           "evidence": [
2026-06-16T08:24:18.6430287Z             {
2026-06-16T08:24:18.6430426Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6430511Z               "line": 286
2026-06-16T08:24:18.6430602Z             },
2026-06-16T08:24:18.6430680Z             {
2026-06-16T08:24:18.6430802Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6430892Z               "line": 297
2026-06-16T08:24:18.6430973Z             }
2026-06-16T08:24:18.6431059Z           ]
2026-06-16T08:24:18.6431140Z         }
2026-06-16T08:24:18.6431215Z       }
2026-06-16T08:24:18.6431297Z     },
2026-06-16T08:24:18.6431379Z     {
2026-06-16T08:24:18.6431469Z       "id": "REQ-SEC-1",
2026-06-16T08:24:18.6431859Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-16T08:24:18.6431956Z       "requiredStages": [
2026-06-16T08:24:18.6432141Z         "impl",
2026-06-16T08:24:18.6432217Z         "unit"
2026-06-16T08:24:18.6432304Z       ],
2026-06-16T08:24:18.6432384Z       "stages": {
2026-06-16T08:24:18.6432470Z         "doc": {
2026-06-16T08:24:18.6432561Z           "complete": false,
2026-06-16T08:24:18.6432736Z           "evidence": []
2026-06-16T08:24:18.6432822Z         },
2026-06-16T08:24:18.6432914Z         "impl": {
2026-06-16T08:24:18.6433000Z           "complete": true,
2026-06-16T08:24:18.6433084Z           "evidence": [
2026-06-16T08:24:18.6433160Z             {
2026-06-16T08:24:18.6433275Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6433368Z               "line": 86
2026-06-16T08:24:18.6433449Z             },
2026-06-16T08:24:18.6433530Z             {
2026-06-16T08:24:18.6433650Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6433735Z               "line": 116
2026-06-16T08:24:18.6433811Z             },
2026-06-16T08:24:18.6433888Z             {
2026-06-16T08:24:18.6434012Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6434097Z               "line": 130
2026-06-16T08:24:18.6434179Z             },
2026-06-16T08:24:18.6434265Z             {
2026-06-16T08:24:18.6434369Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6434469Z               "line": 109
2026-06-16T08:24:18.6434547Z             },
2026-06-16T08:24:18.6434636Z             {
2026-06-16T08:24:18.6434750Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6434837Z               "line": 130
2026-06-16T08:24:18.6434918Z             },
2026-06-16T08:24:18.6434994Z             {
2026-06-16T08:24:18.6435108Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6435191Z               "line": 143
2026-06-16T08:24:18.6435270Z             },
2026-06-16T08:24:18.6435351Z             {
2026-06-16T08:24:18.6435472Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6435561Z               "line": 209
2026-06-16T08:24:18.6435647Z             },
2026-06-16T08:24:18.6435733Z             {
2026-06-16T08:24:18.6435849Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6435942Z               "line": 235
2026-06-16T08:24:18.6436027Z             },
2026-06-16T08:24:18.6436118Z             {
2026-06-16T08:24:18.6436226Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6436321Z               "line": 4913
2026-06-16T08:24:18.6436407Z             }
2026-06-16T08:24:18.6436488Z           ]
2026-06-16T08:24:18.6436564Z         },
2026-06-16T08:24:18.6436650Z         "int": {
2026-06-16T08:24:18.6436745Z           "complete": false,
2026-06-16T08:24:18.6436841Z           "evidence": []
2026-06-16T08:24:18.6436921Z         },
2026-06-16T08:24:18.6437002Z         "unit": {
2026-06-16T08:24:18.6437094Z           "complete": true,
2026-06-16T08:24:18.6437179Z           "evidence": [
2026-06-16T08:24:18.6437260Z             {
2026-06-16T08:24:18.6437375Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6437461Z               "line": 142
2026-06-16T08:24:18.6437546Z             },
2026-06-16T08:24:18.6437623Z             {
2026-06-16T08:24:18.6437738Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6437827Z               "line": 194
2026-06-16T08:24:18.6437899Z             },
2026-06-16T08:24:18.6437985Z             {
2026-06-16T08:24:18.6438100Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T08:24:18.6438180Z               "line": 235
2026-06-16T08:24:18.6438257Z             },
2026-06-16T08:24:18.6438339Z             {
2026-06-16T08:24:18.6438467Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-16T08:24:18.6438561Z               "line": 140
2026-06-16T08:24:18.6438642Z             },
2026-06-16T08:24:18.6438723Z             {
2026-06-16T08:24:18.6438835Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6438930Z               "line": 247
2026-06-16T08:24:18.6439193Z             },
2026-06-16T08:24:18.6439278Z             {
2026-06-16T08:24:18.6439399Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6439484Z               "line": 277
2026-06-16T08:24:18.6439564Z             },
2026-06-16T08:24:18.6439746Z             {
2026-06-16T08:24:18.6439860Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6439942Z               "line": 310
2026-06-16T08:24:18.6440018Z             },
2026-06-16T08:24:18.6440108Z             {
2026-06-16T08:24:18.6440208Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6440290Z               "line": 329
2026-06-16T08:24:18.6440371Z             },
2026-06-16T08:24:18.6440457Z             {
2026-06-16T08:24:18.6440566Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6440657Z               "line": 362
2026-06-16T08:24:18.6440733Z             },
2026-06-16T08:24:18.6440809Z             {
2026-06-16T08:24:18.6440911Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T08:24:18.6441000Z               "line": 386
2026-06-16T08:24:18.6441080Z             },
2026-06-16T08:24:18.6441162Z             {
2026-06-16T08:24:18.6441263Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6441348Z               "line": 7160
2026-06-16T08:24:18.6441423Z             }
2026-06-16T08:24:18.6441504Z           ]
2026-06-16T08:24:18.6441580Z         }
2026-06-16T08:24:18.6441663Z       }
2026-06-16T08:24:18.6441743Z     },
2026-06-16T08:24:18.6441824Z     {
2026-06-16T08:24:18.6441920Z       "id": "REQ-SHELL-1",
2026-06-16T08:24:18.6442801Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-16T08:24:18.6442902Z       "requiredStages": [
2026-06-16T08:24:18.6442977Z         "impl",
2026-06-16T08:24:18.6443063Z         "unit",
2026-06-16T08:24:18.6443151Z         "int"
2026-06-16T08:24:18.6443226Z       ],
2026-06-16T08:24:18.6443320Z       "stages": {
2026-06-16T08:24:18.6443397Z         "doc": {
2026-06-16T08:24:18.6443499Z           "complete": false,
2026-06-16T08:24:18.6443593Z           "evidence": []
2026-06-16T08:24:18.6443673Z         },
2026-06-16T08:24:18.6443763Z         "impl": {
2026-06-16T08:24:18.6443849Z           "complete": true,
2026-06-16T08:24:18.6443943Z           "evidence": [
2026-06-16T08:24:18.6444023Z             {
2026-06-16T08:24:18.6444147Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6444234Z               "line": 189
2026-06-16T08:24:18.6444323Z             },
2026-06-16T08:24:18.6444405Z             {
2026-06-16T08:24:18.6444520Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6444610Z               "line": 268
2026-06-16T08:24:18.6444695Z             },
2026-06-16T08:24:18.6444773Z             {
2026-06-16T08:24:18.6444897Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6447477Z               "line": 27
2026-06-16T08:24:18.6447576Z             },
2026-06-16T08:24:18.6447645Z             {
2026-06-16T08:24:18.6447787Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6447868Z               "line": 52
2026-06-16T08:24:18.6447954Z             },
2026-06-16T08:24:18.6448035Z             {
2026-06-16T08:24:18.6448154Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6448245Z               "line": 144
2026-06-16T08:24:18.6448331Z             },
2026-06-16T08:24:18.6448407Z             {
2026-06-16T08:24:18.6448526Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6448608Z               "line": 176
2026-06-16T08:24:18.6448693Z             },
2026-06-16T08:24:18.6448778Z             {
2026-06-16T08:24:18.6448889Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6449192Z               "line": 22
2026-06-16T08:24:18.6449278Z             },
2026-06-16T08:24:18.6449358Z             {
2026-06-16T08:24:18.6449490Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6449673Z               "line": 65
2026-06-16T08:24:18.6449753Z             },
2026-06-16T08:24:18.6449829Z             {
2026-06-16T08:24:18.6449944Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6450034Z               "line": 76
2026-06-16T08:24:18.6450110Z             },
2026-06-16T08:24:18.6450197Z             {
2026-06-16T08:24:18.6450302Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6450382Z               "line": 150
2026-06-16T08:24:18.6450463Z             },
2026-06-16T08:24:18.6450541Z             {
2026-06-16T08:24:18.6450659Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6450735Z               "line": 209
2026-06-16T08:24:18.6450816Z             },
2026-06-16T08:24:18.6450893Z             {
2026-06-16T08:24:18.6451007Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6451092Z               "line": 254
2026-06-16T08:24:18.6451170Z             },
2026-06-16T08:24:18.6451259Z             {
2026-06-16T08:24:18.6451360Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6451451Z               "line": 276
2026-06-16T08:24:18.6451532Z             },
2026-06-16T08:24:18.6451602Z             {
2026-06-16T08:24:18.6451722Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6451795Z               "line": 289
2026-06-16T08:24:18.6451875Z             },
2026-06-16T08:24:18.6451955Z             {
2026-06-16T08:24:18.6452074Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6452160Z               "line": 217
2026-06-16T08:24:18.6452237Z             },
2026-06-16T08:24:18.6452312Z             {
2026-06-16T08:24:18.6452432Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6452518Z               "line": 233
2026-06-16T08:24:18.6452599Z             },
2026-06-16T08:24:18.6452679Z             {
2026-06-16T08:24:18.6452799Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.6452875Z               "line": 41
2026-06-16T08:24:18.6452961Z             },
2026-06-16T08:24:18.6453037Z             {
2026-06-16T08:24:18.6453157Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.6453243Z               "line": 222
2026-06-16T08:24:18.6453323Z             },
2026-06-16T08:24:18.6453405Z             {
2026-06-16T08:24:18.6453519Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T08:24:18.6453595Z               "line": 173
2026-06-16T08:24:18.6453676Z             },
2026-06-16T08:24:18.6453763Z             {
2026-06-16T08:24:18.6453862Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.6453943Z               "line": 346
2026-06-16T08:24:18.6454035Z             },
2026-06-16T08:24:18.6454115Z             {
2026-06-16T08:24:18.6454223Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.6454309Z               "line": 411
2026-06-16T08:24:18.6454390Z             },
2026-06-16T08:24:18.6454466Z             {
2026-06-16T08:24:18.6454588Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6454679Z               "line": 329
2026-06-16T08:24:18.6454751Z             },
2026-06-16T08:24:18.6454832Z             {
2026-06-16T08:24:18.6454936Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6455032Z               "line": 5657
2026-06-16T08:24:18.6455118Z             },
2026-06-16T08:24:18.6455198Z             {
2026-06-16T08:24:18.6455299Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6455381Z               "line": 5807
2026-06-16T08:24:18.6455466Z             },
2026-06-16T08:24:18.6455546Z             {
2026-06-16T08:24:18.6455657Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6455832Z               "line": 5983
2026-06-16T08:24:18.6455909Z             }
2026-06-16T08:24:18.6455991Z           ]
2026-06-16T08:24:18.6456066Z         },
2026-06-16T08:24:18.6456152Z         "int": {
2026-06-16T08:24:18.6456301Z           "complete": true,
2026-06-16T08:24:18.6456395Z           "evidence": [
2026-06-16T08:24:18.6456472Z             {
2026-06-16T08:24:18.6456597Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6456687Z               "line": 709
2026-06-16T08:24:18.6456767Z             },
2026-06-16T08:24:18.6456854Z             {
2026-06-16T08:24:18.6456979Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T08:24:18.6457067Z               "line": 8
2026-06-16T08:24:18.6457148Z             },
2026-06-16T08:24:18.6457229Z             {
2026-06-16T08:24:18.6457347Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T08:24:18.6457427Z               "line": 49
2026-06-16T08:24:18.6457512Z             },
2026-06-16T08:24:18.6457594Z             {
2026-06-16T08:24:18.6457718Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6457803Z               "line": 754
2026-06-16T08:24:18.6457880Z             },
2026-06-16T08:24:18.6457961Z             {
2026-06-16T08:24:18.6458079Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6458161Z               "line": 1189
2026-06-16T08:24:18.6458238Z             },
2026-06-16T08:24:18.6458324Z             {
2026-06-16T08:24:18.6458442Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T08:24:18.6458529Z               "line": 17
2026-06-16T08:24:18.6458609Z             },
2026-06-16T08:24:18.6458686Z             {
2026-06-16T08:24:18.6458800Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T08:24:18.6458878Z               "line": 14
2026-06-16T08:24:18.6459028Z             }
2026-06-16T08:24:18.6459105Z           ]
2026-06-16T08:24:18.6459187Z         },
2026-06-16T08:24:18.6459267Z         "unit": {
2026-06-16T08:24:18.6459358Z           "complete": true,
2026-06-16T08:24:18.6459459Z           "evidence": [
2026-06-16T08:24:18.6459536Z             {
2026-06-16T08:24:18.6459648Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6459742Z               "line": 246
2026-06-16T08:24:18.6459824Z             },
2026-06-16T08:24:18.6459904Z             {
2026-06-16T08:24:18.6460017Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6460098Z               "line": 279
2026-06-16T08:24:18.6460180Z             },
2026-06-16T08:24:18.6460261Z             {
2026-06-16T08:24:18.6460379Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6460457Z               "line": 319
2026-06-16T08:24:18.6460533Z             },
2026-06-16T08:24:18.6460613Z             {
2026-06-16T08:24:18.6460737Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6460823Z               "line": 594
2026-06-16T08:24:18.6460909Z             },
2026-06-16T08:24:18.6460990Z             {
2026-06-16T08:24:18.6461110Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6461200Z               "line": 667
2026-06-16T08:24:18.6461276Z             },
2026-06-16T08:24:18.6461367Z             {
2026-06-16T08:24:18.6461486Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6461572Z               "line": 811
2026-06-16T08:24:18.6461652Z             },
2026-06-16T08:24:18.6461735Z             {
2026-06-16T08:24:18.6461839Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6461920Z               "line": 595
2026-06-16T08:24:18.6461997Z             },
2026-06-16T08:24:18.6462078Z             {
2026-06-16T08:24:18.6462201Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T08:24:18.6462282Z               "line": 399
2026-06-16T08:24:18.6462365Z             },
2026-06-16T08:24:18.6462445Z             {
2026-06-16T08:24:18.6462639Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6462730Z               "line": 7802
2026-06-16T08:24:18.6462820Z             },
2026-06-16T08:24:18.6462901Z             {
2026-06-16T08:24:18.6463002Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6463177Z               "line": 8126
2026-06-16T08:24:18.6463263Z             },
2026-06-16T08:24:18.6463341Z             {
2026-06-16T08:24:18.6463440Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6463530Z               "line": 8543
2026-06-16T08:24:18.6463611Z             }
2026-06-16T08:24:18.6463688Z           ]
2026-06-16T08:24:18.6463764Z         }
2026-06-16T08:24:18.6463845Z       }
2026-06-16T08:24:18.6463922Z     },
2026-06-16T08:24:18.6463999Z     {
2026-06-16T08:24:18.6464079Z       "id": "REQ-SHELL-2",
2026-06-16T08:24:18.6465621Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-16T08:24:18.6465730Z       "requiredStages": [
2026-06-16T08:24:18.6465815Z         "impl",
2026-06-16T08:24:18.6465893Z         "unit",
2026-06-16T08:24:18.6465974Z         "int"
2026-06-16T08:24:18.6466054Z       ],
2026-06-16T08:24:18.6466150Z       "stages": {
2026-06-16T08:24:18.6466227Z         "doc": {
2026-06-16T08:24:18.6466321Z           "complete": false,
2026-06-16T08:24:18.6466407Z           "evidence": []
2026-06-16T08:24:18.6466493Z         },
2026-06-16T08:24:18.6466580Z         "impl": {
2026-06-16T08:24:18.6466675Z           "complete": true,
2026-06-16T08:24:18.6466764Z           "evidence": [
2026-06-16T08:24:18.6466847Z             {
2026-06-16T08:24:18.6466970Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.6467046Z               "line": 217
2026-06-16T08:24:18.6467128Z             },
2026-06-16T08:24:18.6467204Z             {
2026-06-16T08:24:18.6467327Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6467409Z               "line": 403
2026-06-16T08:24:18.6467491Z             },
2026-06-16T08:24:18.6467571Z             {
2026-06-16T08:24:18.6467689Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T08:24:18.6467765Z               "line": 250
2026-06-16T08:24:18.6467846Z             },
2026-06-16T08:24:18.6467926Z             {
2026-06-16T08:24:18.6468044Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.6468125Z               "line": 353
2026-06-16T08:24:18.6468207Z             },
2026-06-16T08:24:18.6468283Z             {
2026-06-16T08:24:18.6468391Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6468484Z               "line": 30
2026-06-16T08:24:18.6468560Z             },
2026-06-16T08:24:18.6468639Z             {
2026-06-16T08:24:18.6468746Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6468836Z               "line": 409
2026-06-16T08:24:18.6468913Z             },
2026-06-16T08:24:18.6469050Z             {
2026-06-16T08:24:18.6469170Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6469251Z               "line": 445
2026-06-16T08:24:18.6469327Z             },
2026-06-16T08:24:18.6469409Z             {
2026-06-16T08:24:18.6469531Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6469617Z               "line": 660
2026-06-16T08:24:18.6469695Z             },
2026-06-16T08:24:18.6469781Z             {
2026-06-16T08:24:18.6469899Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.6469990Z               "line": 348
2026-06-16T08:24:18.6470072Z             },
2026-06-16T08:24:18.6470270Z             {
2026-06-16T08:24:18.6470389Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6470483Z               "line": 115
2026-06-16T08:24:18.6470554Z             },
2026-06-16T08:24:18.6470634Z             {
2026-06-16T08:24:18.6470759Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6470934Z               "line": 120
2026-06-16T08:24:18.6471017Z             },
2026-06-16T08:24:18.6471102Z             {
2026-06-16T08:24:18.6471221Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6471307Z               "line": 369
2026-06-16T08:24:18.6471388Z             },
2026-06-16T08:24:18.6471465Z             {
2026-06-16T08:24:18.6471578Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6471670Z               "line": 495
2026-06-16T08:24:18.6471750Z             },
2026-06-16T08:24:18.6471826Z             {
2026-06-16T08:24:18.6471942Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6472027Z               "line": 24
2026-06-16T08:24:18.6472118Z             },
2026-06-16T08:24:18.6472194Z             {
2026-06-16T08:24:18.6472305Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6472394Z               "line": 76
2026-06-16T08:24:18.6472475Z             },
2026-06-16T08:24:18.6472557Z             {
2026-06-16T08:24:18.6472676Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6472761Z               "line": 154
2026-06-16T08:24:18.6472843Z             },
2026-06-16T08:24:18.6472920Z             {
2026-06-16T08:24:18.6473042Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6473123Z               "line": 177
2026-06-16T08:24:18.6473209Z             },
2026-06-16T08:24:18.6473285Z             {
2026-06-16T08:24:18.6473399Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6473489Z               "line": 273
2026-06-16T08:24:18.6473571Z             },
2026-06-16T08:24:18.6473657Z             {
2026-06-16T08:24:18.6473776Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6473867Z               "line": 455
2026-06-16T08:24:18.6473943Z             },
2026-06-16T08:24:18.6474024Z             {
2026-06-16T08:24:18.6474148Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6474234Z               "line": 537
2026-06-16T08:24:18.6474320Z             },
2026-06-16T08:24:18.6474391Z             {
2026-06-16T08:24:18.6474516Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T08:24:18.6474601Z               "line": 27
2026-06-16T08:24:18.6474687Z             },
2026-06-16T08:24:18.6474763Z             {
2026-06-16T08:24:18.6474888Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T08:24:18.6474977Z               "line": 48
2026-06-16T08:24:18.6475059Z             },
2026-06-16T08:24:18.6475135Z             {
2026-06-16T08:24:18.6475250Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6475353Z               "line": 513
2026-06-16T08:24:18.6475424Z             },
2026-06-16T08:24:18.6475506Z             {
2026-06-16T08:24:18.6475609Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6475699Z               "line": 1720
2026-06-16T08:24:18.6475785Z             },
2026-06-16T08:24:18.6475862Z             {
2026-06-16T08:24:18.6475961Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6476046Z               "line": 5671
2026-06-16T08:24:18.6476133Z             },
2026-06-16T08:24:18.6476219Z             {
2026-06-16T08:24:18.6476323Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6476414Z               "line": 5732
2026-06-16T08:24:18.6476496Z             },
2026-06-16T08:24:18.6476577Z             {
2026-06-16T08:24:18.6476676Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6476754Z               "line": 5760
2026-06-16T08:24:18.6476844Z             },
2026-06-16T08:24:18.6476990Z             {
2026-06-16T08:24:18.6477097Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6477182Z               "line": 5814
2026-06-16T08:24:18.6477263Z             },
2026-06-16T08:24:18.6477344Z             {
2026-06-16T08:24:18.6477445Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6477606Z               "line": 6069
2026-06-16T08:24:18.6477683Z             },
2026-06-16T08:24:18.6477769Z             {
2026-06-16T08:24:18.6477877Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6477964Z               "line": 6129
2026-06-16T08:24:18.6478042Z             },
2026-06-16T08:24:18.6478122Z             {
2026-06-16T08:24:18.6478239Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6478315Z               "line": 298
2026-06-16T08:24:18.6478392Z             },
2026-06-16T08:24:18.6478472Z             {
2026-06-16T08:24:18.6478575Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6478657Z               "line": 339
2026-06-16T08:24:18.6478739Z             }
2026-06-16T08:24:18.6478819Z           ]
2026-06-16T08:24:18.6478899Z         },
2026-06-16T08:24:18.6479063Z         "int": {
2026-06-16T08:24:18.6479158Z           "complete": true,
2026-06-16T08:24:18.6479243Z           "evidence": [
2026-06-16T08:24:18.6479325Z             {
2026-06-16T08:24:18.6479449Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6479533Z               "line": 702
2026-06-16T08:24:18.6479610Z             },
2026-06-16T08:24:18.6479692Z             {
2026-06-16T08:24:18.6479806Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6479882Z               "line": 754
2026-06-16T08:24:18.6479969Z             },
2026-06-16T08:24:18.6480050Z             {
2026-06-16T08:24:18.6480172Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6480250Z               "line": 1189
2026-06-16T08:24:18.6480327Z             },
2026-06-16T08:24:18.6480416Z             {
2026-06-16T08:24:18.6480541Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-16T08:24:18.6480632Z               "line": 18
2026-06-16T08:24:18.6480703Z             }
2026-06-16T08:24:18.6480787Z           ]
2026-06-16T08:24:18.6480867Z         },
2026-06-16T08:24:18.6480963Z         "unit": {
2026-06-16T08:24:18.6481057Z           "complete": true,
2026-06-16T08:24:18.6481137Z           "evidence": [
2026-06-16T08:24:18.6481214Z             {
2026-06-16T08:24:18.6481334Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6481428Z               "line": 744
2026-06-16T08:24:18.6481509Z             },
2026-06-16T08:24:18.6481596Z             {
2026-06-16T08:24:18.6481715Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T08:24:18.6481800Z               "line": 796
2026-06-16T08:24:18.6481877Z             },
2026-06-16T08:24:18.6481953Z             {
2026-06-16T08:24:18.6482071Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6482163Z               "line": 700
2026-06-16T08:24:18.6482245Z             },
2026-06-16T08:24:18.6482320Z             {
2026-06-16T08:24:18.6482439Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6482526Z               "line": 749
2026-06-16T08:24:18.6482606Z             },
2026-06-16T08:24:18.6482687Z             {
2026-06-16T08:24:18.6482807Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6482894Z               "line": 773
2026-06-16T08:24:18.6482982Z             },
2026-06-16T08:24:18.6483064Z             {
2026-06-16T08:24:18.6483189Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6483269Z               "line": 602
2026-06-16T08:24:18.6483359Z             },
2026-06-16T08:24:18.6483437Z             {
2026-06-16T08:24:18.6483570Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6483678Z               "line": 623
2026-06-16T08:24:18.6483764Z             },
2026-06-16T08:24:18.6483959Z             {
2026-06-16T08:24:18.6484069Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6484160Z               "line": 659
2026-06-16T08:24:18.6484251Z             },
2026-06-16T08:24:18.6484321Z             {
2026-06-16T08:24:18.6484608Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6484698Z               "line": 713
2026-06-16T08:24:18.6484776Z             },
2026-06-16T08:24:18.6484866Z             {
2026-06-16T08:24:18.6484989Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6485081Z               "line": 731
2026-06-16T08:24:18.6485161Z             },
2026-06-16T08:24:18.6485275Z             {
2026-06-16T08:24:18.6485415Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6485518Z               "line": 765
2026-06-16T08:24:18.6485595Z             },
2026-06-16T08:24:18.6485676Z             {
2026-06-16T08:24:18.6485800Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T08:24:18.6485885Z               "line": 840
2026-06-16T08:24:18.6485970Z             },
2026-06-16T08:24:18.6486047Z             {
2026-06-16T08:24:18.6486174Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T08:24:18.6486263Z               "line": 85
2026-06-16T08:24:18.6486354Z             },
2026-06-16T08:24:18.6486441Z             {
2026-06-16T08:24:18.6486545Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6486626Z               "line": 6960
2026-06-16T08:24:18.6486703Z             },
2026-06-16T08:24:18.6486789Z             {
2026-06-16T08:24:18.6486888Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6486984Z               "line": 7880
2026-06-16T08:24:18.6487066Z             },
2026-06-16T08:24:18.6487146Z             {
2026-06-16T08:24:18.6487250Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6487333Z               "line": 7950
2026-06-16T08:24:18.6487418Z             },
2026-06-16T08:24:18.6487494Z             {
2026-06-16T08:24:18.6487594Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6487695Z               "line": 7988
2026-06-16T08:24:18.6487771Z             }
2026-06-16T08:24:18.6487852Z           ]
2026-06-16T08:24:18.6487933Z         }
2026-06-16T08:24:18.6488024Z       }
2026-06-16T08:24:18.6488109Z     },
2026-06-16T08:24:18.6488185Z     {
2026-06-16T08:24:18.6488282Z       "id": "REQ-SHELL-3",
2026-06-16T08:24:18.6490209Z       "title": "Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sensory for continuous real-time control (scroll/crank/stick/avatar) — a [shell.drive] manifest vocab + EVENT_TYPE_DRIVE frame, delivered to the ONLINE binary only via a single live slot (a new frame supersedes an undelivered one — no spool, no queue, no replay on relink), dropped-with-diagnostic if the shell is offline; cross-node rides the ephemeral link (REST class), never the durable shell spool. Commands = discrete+durable; drive = continuous+ephemeral (CONTEXT:260, minted 2026-06-11 Gateway grill).",
2026-06-16T08:24:18.6490309Z       "requiredStages": [
2026-06-16T08:24:18.6490399Z         "impl",
2026-06-16T08:24:18.6490476Z         "unit",
2026-06-16T08:24:18.6490558Z         "int"
2026-06-16T08:24:18.6490643Z       ],
2026-06-16T08:24:18.6490728Z       "stages": {
2026-06-16T08:24:18.6490800Z         "doc": {
2026-06-16T08:24:18.6490901Z           "complete": false,
2026-06-16T08:24:18.6491004Z           "evidence": []
2026-06-16T08:24:18.6491086Z         },
2026-06-16T08:24:18.6491164Z         "impl": {
2026-06-16T08:24:18.6491249Z           "complete": true,
2026-06-16T08:24:18.6491337Z           "evidence": [
2026-06-16T08:24:18.6491418Z             {
2026-06-16T08:24:18.6491533Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.6491617Z               "line": 224
2026-06-16T08:24:18.6491702Z             },
2026-06-16T08:24:18.6491779Z             {
2026-06-16T08:24:18.6491899Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6492093Z               "line": 36
2026-06-16T08:24:18.6492171Z             },
2026-06-16T08:24:18.6492252Z             {
2026-06-16T08:24:18.6492379Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6492571Z               "line": 137
2026-06-16T08:24:18.6492655Z             },
2026-06-16T08:24:18.6492733Z             {
2026-06-16T08:24:18.6492857Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6492947Z               "line": 153
2026-06-16T08:24:18.6493037Z             },
2026-06-16T08:24:18.6493115Z             {
2026-06-16T08:24:18.6493234Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6493319Z               "line": 165
2026-06-16T08:24:18.6493396Z             },
2026-06-16T08:24:18.6493482Z             {
2026-06-16T08:24:18.6493595Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6493692Z               "line": 242
2026-06-16T08:24:18.6493787Z             },
2026-06-16T08:24:18.6493862Z             {
2026-06-16T08:24:18.6493973Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6494059Z               "line": 267
2026-06-16T08:24:18.6494144Z             },
2026-06-16T08:24:18.6494224Z             {
2026-06-16T08:24:18.6494348Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6494444Z               "line": 293
2026-06-16T08:24:18.6494519Z             },
2026-06-16T08:24:18.6494596Z             {
2026-06-16T08:24:18.6494701Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T08:24:18.6494792Z               "line": 51
2026-06-16T08:24:18.6494877Z             },
2026-06-16T08:24:18.6494958Z             {
2026-06-16T08:24:18.6495073Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6495159Z               "line": 333
2026-06-16T08:24:18.6495239Z             },
2026-06-16T08:24:18.6495321Z             {
2026-06-16T08:24:18.6495449Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6495530Z               "line": 373
2026-06-16T08:24:18.6495612Z             },
2026-06-16T08:24:18.6495694Z             {
2026-06-16T08:24:18.6495802Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6495902Z               "line": 602
2026-06-16T08:24:18.6495985Z             },
2026-06-16T08:24:18.6496074Z             {
2026-06-16T08:24:18.6496198Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6496285Z               "line": 132
2026-06-16T08:24:18.6496375Z             },
2026-06-16T08:24:18.6496445Z             {
2026-06-16T08:24:18.6496569Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6496655Z               "line": 443
2026-06-16T08:24:18.6496738Z             },
2026-06-16T08:24:18.6496814Z             {
2026-06-16T08:24:18.6496929Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T08:24:18.6497025Z               "line": 74
2026-06-16T08:24:18.6497096Z             },
2026-06-16T08:24:18.6497181Z             {
2026-06-16T08:24:18.6497301Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6497391Z               "line": 530
2026-06-16T08:24:18.6497486Z             },
2026-06-16T08:24:18.6497564Z             {
2026-06-16T08:24:18.6497687Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6497768Z               "line": 392
2026-06-16T08:24:18.6497845Z             },
2026-06-16T08:24:18.6497917Z             {
2026-06-16T08:24:18.6498026Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6498121Z               "line": 5855
2026-06-16T08:24:18.6498198Z             }
2026-06-16T08:24:18.6498278Z           ]
2026-06-16T08:24:18.6498364Z         },
2026-06-16T08:24:18.6498445Z         "int": {
2026-06-16T08:24:18.6498537Z           "complete": true,
2026-06-16T08:24:18.6498626Z           "evidence": [
2026-06-16T08:24:18.6498703Z             {
2026-06-16T08:24:18.6498904Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6499056Z               "line": 1236
2026-06-16T08:24:18.6499133Z             },
2026-06-16T08:24:18.6499214Z             {
2026-06-16T08:24:18.6499327Z               "path": "crates/spt/tests/drive_e2e.rs",
2026-06-16T08:24:18.6499512Z               "line": 17
2026-06-16T08:24:18.6499592Z             }
2026-06-16T08:24:18.6499672Z           ]
2026-06-16T08:24:18.6499753Z         },
2026-06-16T08:24:18.6499825Z         "unit": {
2026-06-16T08:24:18.6499911Z           "complete": true,
2026-06-16T08:24:18.6499996Z           "evidence": [
2026-06-16T08:24:18.6500077Z             {
2026-06-16T08:24:18.6500202Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6500278Z               "line": 311
2026-06-16T08:24:18.6500358Z             },
2026-06-16T08:24:18.6500436Z             {
2026-06-16T08:24:18.6500550Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6500635Z               "line": 325
2026-06-16T08:24:18.6500717Z             },
2026-06-16T08:24:18.6500793Z             {
2026-06-16T08:24:18.6500897Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6500992Z               "line": 343
2026-06-16T08:24:18.6501070Z             },
2026-06-16T08:24:18.6501151Z             {
2026-06-16T08:24:18.6501269Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6501356Z               "line": 364
2026-06-16T08:24:18.6501442Z             },
2026-06-16T08:24:18.6501522Z             {
2026-06-16T08:24:18.6501646Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T08:24:18.6501724Z               "line": 376
2026-06-16T08:24:18.6501814Z             },
2026-06-16T08:24:18.6501902Z             {
2026-06-16T08:24:18.6502012Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6502103Z               "line": 897
2026-06-16T08:24:18.6502187Z             },
2026-06-16T08:24:18.6502272Z             {
2026-06-16T08:24:18.6502386Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6502478Z               "line": 957
2026-06-16T08:24:18.6502562Z             },
2026-06-16T08:24:18.6502639Z             {
2026-06-16T08:24:18.6502764Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T08:24:18.6502849Z               "line": 338
2026-06-16T08:24:18.6502935Z             },
2026-06-16T08:24:18.6503012Z             {
2026-06-16T08:24:18.6503116Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.6503206Z               "line": 616
2026-06-16T08:24:18.6503288Z             },
2026-06-16T08:24:18.6503374Z             {
2026-06-16T08:24:18.6503479Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6503569Z               "line": 7662
2026-06-16T08:24:18.6503656Z             }
2026-06-16T08:24:18.6503741Z           ]
2026-06-16T08:24:18.6503822Z         }
2026-06-16T08:24:18.6503903Z       }
2026-06-16T08:24:18.6503990Z     },
2026-06-16T08:24:18.6504070Z     {
2026-06-16T08:24:18.6504165Z       "id": "REQ-SHELL-4",
2026-06-16T08:24:18.6505971Z       "title": "Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, reliable-ordered, link-bound QUIC stream pair carrying opaque wire protocol traffic the channel taxonomy must NOT reinterpret (first consumer usbip URB) — manifest opt-in, not enveloped, not MAC-framed, not spooled; the link lifecycle governs it (a link-break closes the tunnel). Reliable-ordered ⇒ congestion surfaces as lag never loss ⇒ acceptable only on-LAN: the on-LAN posture is documented and the tunnel is NOT proven cross-WAN (CONTEXT:262, minted 2026-06-11 Gateway grill; doyle gate C2).",
2026-06-16T08:24:18.6506080Z       "requiredStages": [
2026-06-16T08:24:18.6506172Z         "doc",
2026-06-16T08:24:18.6506258Z         "impl",
2026-06-16T08:24:18.6506348Z         "unit",
2026-06-16T08:24:18.6506434Z         "int"
2026-06-16T08:24:18.6506516Z       ],
2026-06-16T08:24:18.6506706Z       "stages": {
2026-06-16T08:24:18.6506791Z         "doc": {
2026-06-16T08:24:18.6506888Z           "complete": true,
2026-06-16T08:24:18.6506977Z           "evidence": [
2026-06-16T08:24:18.6507062Z             {
2026-06-16T08:24:18.6507162Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6507322Z               "line": 262
2026-06-16T08:24:18.6507407Z             },
2026-06-16T08:24:18.6507484Z             {
2026-06-16T08:24:18.6507713Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-16T08:24:18.6507804Z               "line": 88
2026-06-16T08:24:18.6507881Z             }
2026-06-16T08:24:18.6507966Z           ]
2026-06-16T08:24:18.6508042Z         },
2026-06-16T08:24:18.6508134Z         "impl": {
2026-06-16T08:24:18.6508224Z           "complete": true,
2026-06-16T08:24:18.6508318Z           "evidence": [
2026-06-16T08:24:18.6508395Z             {
2026-06-16T08:24:18.6508519Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.6508614Z               "line": 238
2026-06-16T08:24:18.6508695Z             },
2026-06-16T08:24:18.6508782Z             {
2026-06-16T08:24:18.6508901Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T08:24:18.6509063Z               "line": 61
2026-06-16T08:24:18.6509149Z             },
2026-06-16T08:24:18.6509224Z             {
2026-06-16T08:24:18.6509349Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6509427Z               "line": 218
2026-06-16T08:24:18.6509506Z             },
2026-06-16T08:24:18.6509592Z             {
2026-06-16T08:24:18.6509712Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6509802Z               "line": 245
2026-06-16T08:24:18.6509882Z             },
2026-06-16T08:24:18.6509957Z             {
2026-06-16T08:24:18.6510077Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6510156Z               "line": 549
2026-06-16T08:24:18.6510237Z             },
2026-06-16T08:24:18.6510323Z             {
2026-06-16T08:24:18.6510443Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6510528Z               "line": 1059
2026-06-16T08:24:18.6510608Z             },
2026-06-16T08:24:18.6510691Z             {
2026-06-16T08:24:18.6510814Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6510904Z               "line": 1071
2026-06-16T08:24:18.6510986Z             },
2026-06-16T08:24:18.6511067Z             {
2026-06-16T08:24:18.6511181Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6511272Z               "line": 1112
2026-06-16T08:24:18.6511354Z             },
2026-06-16T08:24:18.6511434Z             {
2026-06-16T08:24:18.6511548Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6511640Z               "line": 451
2026-06-16T08:24:18.6511725Z             },
2026-06-16T08:24:18.6511810Z             {
2026-06-16T08:24:18.6511926Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6512016Z               "line": 44
2026-06-16T08:24:18.6512096Z             },
2026-06-16T08:24:18.6512178Z             {
2026-06-16T08:24:18.6512289Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6512383Z               "line": 208
2026-06-16T08:24:18.6512467Z             },
2026-06-16T08:24:18.6512553Z             {
2026-06-16T08:24:18.6512672Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6512761Z               "line": 227
2026-06-16T08:24:18.6512836Z             },
2026-06-16T08:24:18.6512928Z             {
2026-06-16T08:24:18.6513043Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6513128Z               "line": 253
2026-06-16T08:24:18.6513204Z             },
2026-06-16T08:24:18.6513286Z             {
2026-06-16T08:24:18.6515922Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6516040Z               "line": 272
2026-06-16T08:24:18.6516265Z             },
2026-06-16T08:24:18.6516354Z             {
2026-06-16T08:24:18.6516489Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6516584Z               "line": 392
2026-06-16T08:24:18.6516659Z             },
2026-06-16T08:24:18.6516838Z             {
2026-06-16T08:24:18.6516960Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6517052Z               "line": 421
2026-06-16T08:24:18.6517138Z             },
2026-06-16T08:24:18.6517217Z             {
2026-06-16T08:24:18.6517333Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6517420Z               "line": 439
2026-06-16T08:24:18.6517500Z             },
2026-06-16T08:24:18.6517575Z             {
2026-06-16T08:24:18.6517699Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6517780Z               "line": 458
2026-06-16T08:24:18.6517854Z             },
2026-06-16T08:24:18.6517935Z             {
2026-06-16T08:24:18.6518049Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6518136Z               "line": 486
2026-06-16T08:24:18.6518211Z             },
2026-06-16T08:24:18.6518292Z             {
2026-06-16T08:24:18.6518403Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6518498Z               "line": 549
2026-06-16T08:24:18.6518583Z             },
2026-06-16T08:24:18.6518665Z             {
2026-06-16T08:24:18.6518784Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6518864Z               "line": 754
2026-06-16T08:24:18.6519028Z             },
2026-06-16T08:24:18.6519108Z             {
2026-06-16T08:24:18.6519212Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6519304Z               "line": 431
2026-06-16T08:24:18.6519380Z             },
2026-06-16T08:24:18.6519461Z             {
2026-06-16T08:24:18.6519561Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6519648Z               "line": 5911
2026-06-16T08:24:18.6519723Z             }
2026-06-16T08:24:18.6519799Z           ]
2026-06-16T08:24:18.6519880Z         },
2026-06-16T08:24:18.6519957Z         "int": {
2026-06-16T08:24:18.6520057Z           "complete": true,
2026-06-16T08:24:18.6520147Z           "evidence": [
2026-06-16T08:24:18.6520234Z             {
2026-06-16T08:24:18.6520353Z               "path": "crates/spt/tests/tunnel_e2e.rs",
2026-06-16T08:24:18.6520433Z               "line": 18
2026-06-16T08:24:18.6520518Z             }
2026-06-16T08:24:18.6520599Z           ]
2026-06-16T08:24:18.6520684Z         },
2026-06-16T08:24:18.6520768Z         "unit": {
2026-06-16T08:24:18.6520853Z           "complete": true,
2026-06-16T08:24:18.6520945Z           "evidence": [
2026-06-16T08:24:18.6521027Z             {
2026-06-16T08:24:18.6521150Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6521231Z               "line": 1309
2026-06-16T08:24:18.6521313Z             },
2026-06-16T08:24:18.6521402Z             {
2026-06-16T08:24:18.6521517Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6521604Z               "line": 1338
2026-06-16T08:24:18.6521675Z             },
2026-06-16T08:24:18.6521760Z             {
2026-06-16T08:24:18.6521880Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6521970Z               "line": 504
2026-06-16T08:24:18.6522060Z             },
2026-06-16T08:24:18.6522137Z             {
2026-06-16T08:24:18.6522257Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6522337Z               "line": 514
2026-06-16T08:24:18.6522428Z             },
2026-06-16T08:24:18.6522510Z             {
2026-06-16T08:24:18.6522628Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6522719Z               "line": 531
2026-06-16T08:24:18.6522801Z             },
2026-06-16T08:24:18.6522882Z             {
2026-06-16T08:24:18.6523000Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6523190Z               "line": 543
2026-06-16T08:24:18.6523274Z             },
2026-06-16T08:24:18.6523354Z             {
2026-06-16T08:24:18.6523478Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T08:24:18.6523560Z               "line": 555
2026-06-16T08:24:18.6523755Z             },
2026-06-16T08:24:18.6523836Z             {
2026-06-16T08:24:18.6523960Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6524050Z               "line": 1008
2026-06-16T08:24:18.6524133Z             },
2026-06-16T08:24:18.6524213Z             {
2026-06-16T08:24:18.6524317Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T08:24:18.6524399Z               "line": 623
2026-06-16T08:24:18.6524480Z             }
2026-06-16T08:24:18.6524551Z           ]
2026-06-16T08:24:18.6524623Z         }
2026-06-16T08:24:18.6524708Z       }
2026-06-16T08:24:18.6524795Z     },
2026-06-16T08:24:18.6524875Z     {
2026-06-16T08:24:18.6524971Z       "id": "REQ-SHELL-5",
2026-06-16T08:24:18.6526233Z       "title": "Shell ownership is owner-type-agnostic: any non-Shell endpoint type may own/spawn/drive/command/link a shell (Gateway the named first) — control-exclusivity keys on the owner endpoint_id, NEVER on the owner's endpoint type. No ownership path (mint, launch, owner-from-link, cmd, drive, tunnel, sleep/wake, owner-shutdown) inspects the owner's type (CONTEXT:264, ratified 2026-06-11 Gateway grill).",
2026-06-16T08:24:18.6526338Z       "requiredStages": [
2026-06-16T08:24:18.6526430Z         "doc",
2026-06-16T08:24:18.6526515Z         "impl",
2026-06-16T08:24:18.6526595Z         "unit",
2026-06-16T08:24:18.6526673Z         "int"
2026-06-16T08:24:18.6526758Z       ],
2026-06-16T08:24:18.6526835Z       "stages": {
2026-06-16T08:24:18.6526919Z         "doc": {
2026-06-16T08:24:18.6527016Z           "complete": true,
2026-06-16T08:24:18.6527097Z           "evidence": [
2026-06-16T08:24:18.6527178Z             {
2026-06-16T08:24:18.6527273Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6527369Z               "line": 265
2026-06-16T08:24:18.6527444Z             }
2026-06-16T08:24:18.6527530Z           ]
2026-06-16T08:24:18.6527612Z         },
2026-06-16T08:24:18.6527689Z         "impl": {
2026-06-16T08:24:18.6527787Z           "complete": true,
2026-06-16T08:24:18.6527878Z           "evidence": [
2026-06-16T08:24:18.6527961Z             {
2026-06-16T08:24:18.6528074Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T08:24:18.6528159Z               "line": 255
2026-06-16T08:24:18.6528239Z             }
2026-06-16T08:24:18.6528321Z           ]
2026-06-16T08:24:18.6528405Z         },
2026-06-16T08:24:18.6528485Z         "int": {
2026-06-16T08:24:18.6528581Z           "complete": true,
2026-06-16T08:24:18.6528662Z           "evidence": [
2026-06-16T08:24:18.6528753Z             {
2026-06-16T08:24:18.6528876Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6529044Z               "line": 803
2026-06-16T08:24:18.6529124Z             },
2026-06-16T08:24:18.6529191Z             {
2026-06-16T08:24:18.6529311Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6529420Z               "line": 1264
2026-06-16T08:24:18.6529510Z             },
2026-06-16T08:24:18.6529597Z             {
2026-06-16T08:24:18.6529735Z               "path": "crates/spt/tests/gateway_owner_shell_e2e.rs",
2026-06-16T08:24:18.6529830Z               "line": 23
2026-06-16T08:24:18.6529912Z             }
2026-06-16T08:24:18.6529987Z           ]
2026-06-16T08:24:18.6530073Z         },
2026-06-16T08:24:18.6530149Z         "unit": {
2026-06-16T08:24:18.6530246Z           "complete": true,
2026-06-16T08:24:18.6530330Z           "evidence": [
2026-06-16T08:24:18.6530406Z             {
2026-06-16T08:24:18.6530518Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T08:24:18.6530612Z               "line": 803
2026-06-16T08:24:18.6530698Z             }
2026-06-16T08:24:18.6530779Z           ]
2026-06-16T08:24:18.6530861Z         }
2026-06-16T08:24:18.6531040Z       }
2026-06-16T08:24:18.6531121Z     },
2026-06-16T08:24:18.6531202Z     {
2026-06-16T08:24:18.6531296Z       "id": "REQ-START-1",
2026-06-16T08:24:18.6531486Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-16T08:24:18.6531676Z       "requiredStages": [
2026-06-16T08:24:18.6531767Z         "impl",
2026-06-16T08:24:18.6531849Z         "unit"
2026-06-16T08:24:18.6531935Z       ],
2026-06-16T08:24:18.6532020Z       "stages": {
2026-06-16T08:24:18.6532102Z         "doc": {
2026-06-16T08:24:18.6532197Z           "complete": false,
2026-06-16T08:24:18.6532278Z           "evidence": []
2026-06-16T08:24:18.6532363Z         },
2026-06-16T08:24:18.6532445Z         "impl": {
2026-06-16T08:24:18.6532539Z           "complete": true,
2026-06-16T08:24:18.6532616Z           "evidence": [
2026-06-16T08:24:18.6532697Z             {
2026-06-16T08:24:18.6532813Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T08:24:18.6532897Z               "line": 16
2026-06-16T08:24:18.6532983Z             }
2026-06-16T08:24:18.6533065Z           ]
2026-06-16T08:24:18.6533146Z         },
2026-06-16T08:24:18.6533226Z         "int": {
2026-06-16T08:24:18.6533317Z           "complete": false,
2026-06-16T08:24:18.6533394Z           "evidence": []
2026-06-16T08:24:18.6533480Z         },
2026-06-16T08:24:18.6533550Z         "unit": {
2026-06-16T08:24:18.6533630Z           "complete": true,
2026-06-16T08:24:18.6533726Z           "evidence": [
2026-06-16T08:24:18.6533801Z             {
2026-06-16T08:24:18.6533919Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T08:24:18.6534000Z               "line": 43
2026-06-16T08:24:18.6534077Z             },
2026-06-16T08:24:18.6534158Z             {
2026-06-16T08:24:18.6534267Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T08:24:18.6534353Z               "line": 59
2026-06-16T08:24:18.6534430Z             }
2026-06-16T08:24:18.6534515Z           ]
2026-06-16T08:24:18.6534591Z         }
2026-06-16T08:24:18.6534673Z       }
2026-06-16T08:24:18.6534754Z     },
2026-06-16T08:24:18.6534830Z     {
2026-06-16T08:24:18.6534920Z       "id": "REQ-START-2",
2026-06-16T08:24:18.6535064Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-16T08:24:18.6535159Z       "requiredStages": [
2026-06-16T08:24:18.6535254Z         "impl",
2026-06-16T08:24:18.6535332Z         "unit",
2026-06-16T08:24:18.6535412Z         "int"
2026-06-16T08:24:18.6535493Z       ],
2026-06-16T08:24:18.6535583Z       "stages": {
2026-06-16T08:24:18.6535666Z         "doc": {
2026-06-16T08:24:18.6535755Z           "complete": false,
2026-06-16T08:24:18.6535845Z           "evidence": []
2026-06-16T08:24:18.6535932Z         },
2026-06-16T08:24:18.6536018Z         "impl": {
2026-06-16T08:24:18.6536107Z           "complete": true,
2026-06-16T08:24:18.6536194Z           "evidence": [
2026-06-16T08:24:18.6536276Z             {
2026-06-16T08:24:18.6536384Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6536479Z               "line": 16
2026-06-16T08:24:18.6536560Z             },
2026-06-16T08:24:18.6536641Z             {
2026-06-16T08:24:18.6536737Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6536831Z               "line": 92
2026-06-16T08:24:18.6536908Z             },
2026-06-16T08:24:18.6536985Z             {
2026-06-16T08:24:18.6537098Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6537189Z               "line": 232
2026-06-16T08:24:18.6537261Z             }
2026-06-16T08:24:18.6537342Z           ]
2026-06-16T08:24:18.6537423Z         },
2026-06-16T08:24:18.6537509Z         "int": {
2026-06-16T08:24:18.6537600Z           "complete": true,
2026-06-16T08:24:18.6537690Z           "evidence": [
2026-06-16T08:24:18.6537776Z             {
2026-06-16T08:24:18.6537901Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.6537986Z               "line": 186
2026-06-16T08:24:18.6538067Z             }
2026-06-16T08:24:18.6538138Z           ]
2026-06-16T08:24:18.6538301Z         },
2026-06-16T08:24:18.6538381Z         "unit": {
2026-06-16T08:24:18.6538467Z           "complete": true,
2026-06-16T08:24:18.6538554Z           "evidence": [
2026-06-16T08:24:18.6538629Z             {
2026-06-16T08:24:18.6538743Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6538895Z               "line": 466
2026-06-16T08:24:18.6539031Z             },
2026-06-16T08:24:18.6539116Z             {
2026-06-16T08:24:18.6539218Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6539298Z               "line": 499
2026-06-16T08:24:18.6539374Z             }
2026-06-16T08:24:18.6539450Z           ]
2026-06-16T08:24:18.6539533Z         }
2026-06-16T08:24:18.6539609Z       }
2026-06-16T08:24:18.6539693Z     },
2026-06-16T08:24:18.6539780Z     {
2026-06-16T08:24:18.6539871Z       "id": "REQ-START-3",
2026-06-16T08:24:18.6540032Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-16T08:24:18.6540133Z       "requiredStages": [
2026-06-16T08:24:18.6540214Z         "impl",
2026-06-16T08:24:18.6540295Z         "unit",
2026-06-16T08:24:18.6540376Z         "int"
2026-06-16T08:24:18.6540453Z       ],
2026-06-16T08:24:18.6540533Z       "stages": {
2026-06-16T08:24:18.6540610Z         "doc": {
2026-06-16T08:24:18.6540705Z           "complete": false,
2026-06-16T08:24:18.6540796Z           "evidence": []
2026-06-16T08:24:18.6540876Z         },
2026-06-16T08:24:18.6540958Z         "impl": {
2026-06-16T08:24:18.6541054Z           "complete": true,
2026-06-16T08:24:18.6541135Z           "evidence": [
2026-06-16T08:24:18.6541215Z             {
2026-06-16T08:24:18.6541330Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6541412Z               "line": 23
2026-06-16T08:24:18.6541497Z             },
2026-06-16T08:24:18.6541576Z             {
2026-06-16T08:24:18.6541700Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6541781Z               "line": 205
2026-06-16T08:24:18.6541865Z             },
2026-06-16T08:24:18.6541946Z             {
2026-06-16T08:24:18.6542056Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6542142Z               "line": 221
2026-06-16T08:24:18.6542222Z             },
2026-06-16T08:24:18.6542298Z             {
2026-06-16T08:24:18.6542405Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6542486Z               "line": 17
2026-06-16T08:24:18.6542560Z             },
2026-06-16T08:24:18.6542637Z             {
2026-06-16T08:24:18.6542748Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6542833Z               "line": 35
2026-06-16T08:24:18.6542913Z             },
2026-06-16T08:24:18.6542991Z             {
2026-06-16T08:24:18.6543100Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6543181Z               "line": 93
2026-06-16T08:24:18.6543262Z             }
2026-06-16T08:24:18.6543339Z           ]
2026-06-16T08:24:18.6543415Z         },
2026-06-16T08:24:18.6543505Z         "int": {
2026-06-16T08:24:18.6543601Z           "complete": true,
2026-06-16T08:24:18.6543678Z           "evidence": [
2026-06-16T08:24:18.6543767Z             {
2026-06-16T08:24:18.6543887Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T08:24:18.6543983Z               "line": 488
2026-06-16T08:24:18.6544063Z             }
2026-06-16T08:24:18.6544143Z           ]
2026-06-16T08:24:18.6544223Z         },
2026-06-16T08:24:18.6544310Z         "unit": {
2026-06-16T08:24:18.6544404Z           "complete": true,
2026-06-16T08:24:18.6544493Z           "evidence": [
2026-06-16T08:24:18.6544570Z             {
2026-06-16T08:24:18.6544685Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6544765Z               "line": 331
2026-06-16T08:24:18.6544855Z             },
2026-06-16T08:24:18.6544928Z             {
2026-06-16T08:24:18.6545047Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6545118Z               "line": 352
2026-06-16T08:24:18.6545291Z             },
2026-06-16T08:24:18.6545372Z             {
2026-06-16T08:24:18.6545485Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T08:24:18.6545567Z               "line": 362
2026-06-16T08:24:18.6545652Z             },
2026-06-16T08:24:18.6545848Z             {
2026-06-16T08:24:18.6545967Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6546062Z               "line": 467
2026-06-16T08:24:18.6546143Z             },
2026-06-16T08:24:18.6546221Z             {
2026-06-16T08:24:18.6546334Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6546420Z               "line": 500
2026-06-16T08:24:18.6546497Z             },
2026-06-16T08:24:18.6546578Z             {
2026-06-16T08:24:18.6546692Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T08:24:18.6546773Z               "line": 508
2026-06-16T08:24:18.6546855Z             }
2026-06-16T08:24:18.6546930Z           ]
2026-06-16T08:24:18.6547006Z         }
2026-06-16T08:24:18.6547086Z       }
2026-06-16T08:24:18.6547163Z     },
2026-06-16T08:24:18.6547259Z     {
2026-06-16T08:24:18.6547353Z       "id": "REQ-START-4",
2026-06-16T08:24:18.6547492Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-16T08:24:18.6547597Z       "requiredStages": [
2026-06-16T08:24:18.6547668Z         "impl",
2026-06-16T08:24:18.6547749Z         "unit"
2026-06-16T08:24:18.6547831Z       ],
2026-06-16T08:24:18.6547926Z       "stages": {
2026-06-16T08:24:18.6548011Z         "doc": {
2026-06-16T08:24:18.6548102Z           "complete": false,
2026-06-16T08:24:18.6548198Z           "evidence": []
2026-06-16T08:24:18.6548274Z         },
2026-06-16T08:24:18.6548369Z         "impl": {
2026-06-16T08:24:18.6548447Z           "complete": true,
2026-06-16T08:24:18.6548541Z           "evidence": [
2026-06-16T08:24:18.6548627Z             {
2026-06-16T08:24:18.6548742Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6548832Z               "line": 581
2026-06-16T08:24:18.6548908Z             }
2026-06-16T08:24:18.6549071Z           ]
2026-06-16T08:24:18.6549147Z         },
2026-06-16T08:24:18.6549227Z         "int": {
2026-06-16T08:24:18.6549322Z           "complete": false,
2026-06-16T08:24:18.6549408Z           "evidence": []
2026-06-16T08:24:18.6549497Z         },
2026-06-16T08:24:18.6549582Z         "unit": {
2026-06-16T08:24:18.6549677Z           "complete": true,
2026-06-16T08:24:18.6549763Z           "evidence": [
2026-06-16T08:24:18.6549845Z             {
2026-06-16T08:24:18.6549963Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6550040Z               "line": 1020
2026-06-16T08:24:18.6550122Z             }
2026-06-16T08:24:18.6550202Z           ]
2026-06-16T08:24:18.6550292Z         }
2026-06-16T08:24:18.6550369Z       }
2026-06-16T08:24:18.6550450Z     },
2026-06-16T08:24:18.6550535Z     {
2026-06-16T08:24:18.6550626Z       "id": "REQ-STORE-1",
2026-06-16T08:24:18.6551537Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-16T08:24:18.6551629Z       "requiredStages": [
2026-06-16T08:24:18.6551719Z         "impl",
2026-06-16T08:24:18.6551794Z         "unit"
2026-06-16T08:24:18.6551880Z       ],
2026-06-16T08:24:18.6551958Z       "stages": {
2026-06-16T08:24:18.6552043Z         "doc": {
2026-06-16T08:24:18.6552141Z           "complete": false,
2026-06-16T08:24:18.6552231Z           "evidence": []
2026-06-16T08:24:18.6552303Z         },
2026-06-16T08:24:18.6552388Z         "impl": {
2026-06-16T08:24:18.6552477Z           "complete": true,
2026-06-16T08:24:18.6552578Z           "evidence": [
2026-06-16T08:24:18.6552660Z             {
2026-06-16T08:24:18.6552787Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6553002Z               "line": 23
2026-06-16T08:24:18.6553083Z             },
2026-06-16T08:24:18.6553173Z             {
2026-06-16T08:24:18.6553303Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6553394Z               "line": 46
2026-06-16T08:24:18.6553570Z             },
2026-06-16T08:24:18.6553660Z             {
2026-06-16T08:24:18.6553784Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6553876Z               "line": 97
2026-06-16T08:24:18.6553961Z             },
2026-06-16T08:24:18.6554041Z             {
2026-06-16T08:24:18.6554156Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6554238Z               "line": 125
2026-06-16T08:24:18.6554318Z             },
2026-06-16T08:24:18.6554394Z             {
2026-06-16T08:24:18.6554515Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6554610Z               "line": 181
2026-06-16T08:24:18.6554689Z             },
2026-06-16T08:24:18.6554783Z             {
2026-06-16T08:24:18.6554913Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6555006Z               "line": 205
2026-06-16T08:24:18.6555087Z             },
2026-06-16T08:24:18.6555163Z             {
2026-06-16T08:24:18.6555288Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6555373Z               "line": 441
2026-06-16T08:24:18.6555459Z             },
2026-06-16T08:24:18.6555541Z             {
2026-06-16T08:24:18.6555673Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6555764Z               "line": 25
2026-06-16T08:24:18.6555837Z             },
2026-06-16T08:24:18.6555922Z             {
2026-06-16T08:24:18.6556036Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6556118Z               "line": 120
2026-06-16T08:24:18.6556198Z             },
2026-06-16T08:24:18.6556284Z             {
2026-06-16T08:24:18.6556403Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6556490Z               "line": 148
2026-06-16T08:24:18.6556575Z             },
2026-06-16T08:24:18.6556656Z             {
2026-06-16T08:24:18.6556786Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6556880Z               "line": 165
2026-06-16T08:24:18.6556965Z             },
2026-06-16T08:24:18.6557053Z             {
2026-06-16T08:24:18.6557171Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6557261Z               "line": 180
2026-06-16T08:24:18.6557333Z             },
2026-06-16T08:24:18.6557415Z             {
2026-06-16T08:24:18.6557537Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6557623Z               "line": 198
2026-06-16T08:24:18.6557699Z             },
2026-06-16T08:24:18.6557781Z             {
2026-06-16T08:24:18.6557899Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6557975Z               "line": 207
2026-06-16T08:24:18.6558062Z             },
2026-06-16T08:24:18.6558138Z             {
2026-06-16T08:24:18.6558257Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T08:24:18.6558343Z               "line": 16
2026-06-16T08:24:18.6558429Z             },
2026-06-16T08:24:18.6558510Z             {
2026-06-16T08:24:18.6558619Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T08:24:18.6558706Z               "line": 63
2026-06-16T08:24:18.6558782Z             }
2026-06-16T08:24:18.6558862Z           ]
2026-06-16T08:24:18.6559035Z         },
2026-06-16T08:24:18.6559120Z         "int": {
2026-06-16T08:24:18.6559201Z           "complete": false,
2026-06-16T08:24:18.6559283Z           "evidence": []
2026-06-16T08:24:18.6559383Z         },
2026-06-16T08:24:18.6559473Z         "unit": {
2026-06-16T08:24:18.6559554Z           "complete": true,
2026-06-16T08:24:18.6559646Z           "evidence": [
2026-06-16T08:24:18.6559721Z             {
2026-06-16T08:24:18.6559844Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6560048Z               "line": 558
2026-06-16T08:24:18.6560123Z             },
2026-06-16T08:24:18.6560203Z             {
2026-06-16T08:24:18.6560318Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6560504Z               "line": 568
2026-06-16T08:24:18.6560590Z             },
2026-06-16T08:24:18.6560662Z             {
2026-06-16T08:24:18.6560781Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6560861Z               "line": 590
2026-06-16T08:24:18.6560939Z             },
2026-06-16T08:24:18.6561025Z             {
2026-06-16T08:24:18.6561147Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6561230Z               "line": 606
2026-06-16T08:24:18.6561310Z             },
2026-06-16T08:24:18.6561387Z             {
2026-06-16T08:24:18.6561510Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T08:24:18.6561592Z               "line": 629
2026-06-16T08:24:18.6561673Z             },
2026-06-16T08:24:18.6561754Z             {
2026-06-16T08:24:18.6561879Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6561968Z               "line": 472
2026-06-16T08:24:18.6562049Z             },
2026-06-16T08:24:18.6562135Z             {
2026-06-16T08:24:18.6562250Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T08:24:18.6562345Z               "line": 507
2026-06-16T08:24:18.6562426Z             },
2026-06-16T08:24:18.6562503Z             {
2026-06-16T08:24:18.6562622Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T08:24:18.6562711Z               "line": 120
2026-06-16T08:24:18.6562787Z             },
2026-06-16T08:24:18.6562873Z             {
2026-06-16T08:24:18.6562985Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T08:24:18.6563080Z               "line": 128
2026-06-16T08:24:18.6563162Z             }
2026-06-16T08:24:18.6563243Z           ]
2026-06-16T08:24:18.6563329Z         }
2026-06-16T08:24:18.6563404Z       }
2026-06-16T08:24:18.6563491Z     },
2026-06-16T08:24:18.6563572Z     {
2026-06-16T08:24:18.6563667Z       "id": "REQ-SUBNET-1",
2026-06-16T08:24:18.6563982Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-16T08:24:18.6564086Z       "requiredStages": [
2026-06-16T08:24:18.6564168Z         "impl",
2026-06-16T08:24:18.6564248Z         "unit"
2026-06-16T08:24:18.6564334Z       ],
2026-06-16T08:24:18.6564421Z       "stages": {
2026-06-16T08:24:18.6564507Z         "doc": {
2026-06-16T08:24:18.6564591Z           "complete": false,
2026-06-16T08:24:18.6564692Z           "evidence": []
2026-06-16T08:24:18.6564774Z         },
2026-06-16T08:24:18.6564860Z         "impl": {
2026-06-16T08:24:18.6564955Z           "complete": true,
2026-06-16T08:24:18.6565041Z           "evidence": [
2026-06-16T08:24:18.6565127Z             {
2026-06-16T08:24:18.6565258Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6565344Z               "line": 281
2026-06-16T08:24:18.6565425Z             },
2026-06-16T08:24:18.6565506Z             {
2026-06-16T08:24:18.6565623Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6565705Z               "line": 599
2026-06-16T08:24:18.6565805Z             },
2026-06-16T08:24:18.6565886Z             {
2026-06-16T08:24:18.6565995Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6566077Z               "line": 3085
2026-06-16T08:24:18.6566153Z             },
2026-06-16T08:24:18.6566243Z             {
2026-06-16T08:24:18.6566334Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6566420Z               "line": 3395
2026-06-16T08:24:18.6566506Z             },
2026-06-16T08:24:18.6566596Z             {
2026-06-16T08:24:18.6566702Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6566796Z               "line": 3414
2026-06-16T08:24:18.6566958Z             },
2026-06-16T08:24:18.6567041Z             {
2026-06-16T08:24:18.6567135Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6567225Z               "line": 3478
2026-06-16T08:24:18.6567303Z             },
2026-06-16T08:24:18.6567379Z             {
2026-06-16T08:24:18.6567545Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6567637Z               "line": 3520
2026-06-16T08:24:18.6567718Z             },
2026-06-16T08:24:18.6567807Z             {
2026-06-16T08:24:18.6567903Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6567999Z               "line": 3709
2026-06-16T08:24:18.6568079Z             },
2026-06-16T08:24:18.6568159Z             {
2026-06-16T08:24:18.6568259Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6568336Z               "line": 3779
2026-06-16T08:24:18.6568422Z             },
2026-06-16T08:24:18.6568502Z             {
2026-06-16T08:24:18.6568607Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6568703Z               "line": 4003
2026-06-16T08:24:18.6568783Z             },
2026-06-16T08:24:18.6568859Z             {
2026-06-16T08:24:18.6569042Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6569131Z               "line": 4640
2026-06-16T08:24:18.6569204Z             },
2026-06-16T08:24:18.6569295Z             {
2026-06-16T08:24:18.6569418Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6569499Z               "line": 418
2026-06-16T08:24:18.6569586Z             }
2026-06-16T08:24:18.6569661Z           ]
2026-06-16T08:24:18.6569742Z         },
2026-06-16T08:24:18.6569828Z         "int": {
2026-06-16T08:24:18.6569925Z           "complete": false,
2026-06-16T08:24:18.6570018Z           "evidence": []
2026-06-16T08:24:18.6570100Z         },
2026-06-16T08:24:18.6570186Z         "unit": {
2026-06-16T08:24:18.6570277Z           "complete": true,
2026-06-16T08:24:18.6570366Z           "evidence": [
2026-06-16T08:24:18.6570442Z             {
2026-06-16T08:24:18.6570580Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6570669Z               "line": 1477
2026-06-16T08:24:18.6570754Z             },
2026-06-16T08:24:18.6570831Z             {
2026-06-16T08:24:18.6570937Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6571026Z               "line": 8790
2026-06-16T08:24:18.6571107Z             },
2026-06-16T08:24:18.6571189Z             {
2026-06-16T08:24:18.6571284Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6571365Z               "line": 8960
2026-06-16T08:24:18.6571446Z             },
2026-06-16T08:24:18.6571527Z             {
2026-06-16T08:24:18.6571636Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6571713Z               "line": 8967
2026-06-16T08:24:18.6571800Z             },
2026-06-16T08:24:18.6571880Z             {
2026-06-16T08:24:18.6571980Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6572075Z               "line": 9020
2026-06-16T08:24:18.6572157Z             },
2026-06-16T08:24:18.6572233Z             {
2026-06-16T08:24:18.6572333Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6572414Z               "line": 9037
2026-06-16T08:24:18.6572491Z             },
2026-06-16T08:24:18.6572571Z             {
2026-06-16T08:24:18.6572671Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6572754Z               "line": 9067
2026-06-16T08:24:18.6572839Z             },
2026-06-16T08:24:18.6572919Z             {
2026-06-16T08:24:18.6573025Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6573111Z               "line": 9166
2026-06-16T08:24:18.6573191Z             },
2026-06-16T08:24:18.6573267Z             {
2026-06-16T08:24:18.6573371Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6573461Z               "line": 9317
2026-06-16T08:24:18.6573545Z             }
2026-06-16T08:24:18.6573621Z           ]
2026-06-16T08:24:18.6573703Z         }
2026-06-16T08:24:18.6573775Z       }
2026-06-16T08:24:18.6573959Z     },
2026-06-16T08:24:18.6574037Z     {
2026-06-16T08:24:18.6574137Z       "id": "REQ-SUBNET-2",
2026-06-16T08:24:18.6574371Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-16T08:24:18.6574561Z       "requiredStages": [
2026-06-16T08:24:18.6574642Z         "impl",
2026-06-16T08:24:18.6574724Z         "unit",
2026-06-16T08:24:18.6574814Z         "int"
2026-06-16T08:24:18.6574895Z       ],
2026-06-16T08:24:18.6574981Z       "stages": {
2026-06-16T08:24:18.6575067Z         "doc": {
2026-06-16T08:24:18.6575161Z           "complete": true,
2026-06-16T08:24:18.6575252Z           "evidence": [
2026-06-16T08:24:18.6575330Z             {
2026-06-16T08:24:18.6575490Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-16T08:24:18.6575567Z               "line": 60
2026-06-16T08:24:18.6575654Z             }
2026-06-16T08:24:18.6575735Z           ]
2026-06-16T08:24:18.6575814Z         },
2026-06-16T08:24:18.6575900Z         "impl": {
2026-06-16T08:24:18.6575990Z           "complete": true,
2026-06-16T08:24:18.6576084Z           "evidence": [
2026-06-16T08:24:18.6576164Z             {
2026-06-16T08:24:18.6576279Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.6576380Z               "line": 837
2026-06-16T08:24:18.6576465Z             },
2026-06-16T08:24:18.6576550Z             {
2026-06-16T08:24:18.6576666Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6576761Z               "line": 1190
2026-06-16T08:24:18.6576836Z             },
2026-06-16T08:24:18.6576923Z             {
2026-06-16T08:24:18.6577042Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6577122Z               "line": 611
2026-06-16T08:24:18.6577209Z             },
2026-06-16T08:24:18.6577295Z             {
2026-06-16T08:24:18.6577414Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T08:24:18.6577490Z               "line": 743
2026-06-16T08:24:18.6577572Z             },
2026-06-16T08:24:18.6577653Z             {
2026-06-16T08:24:18.6577776Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6577868Z               "line": 26
2026-06-16T08:24:18.6577949Z             },
2026-06-16T08:24:18.6578028Z             {
2026-06-16T08:24:18.6578144Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6578226Z               "line": 60
2026-06-16T08:24:18.6578310Z             },
2026-06-16T08:24:18.6578392Z             {
2026-06-16T08:24:18.6578512Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6578602Z               "line": 168
2026-06-16T08:24:18.6581164Z             },
2026-06-16T08:24:18.6581267Z             {
2026-06-16T08:24:18.6581415Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6581506Z               "line": 295
2026-06-16T08:24:18.6581591Z             },
2026-06-16T08:24:18.6581672Z             {
2026-06-16T08:24:18.6581797Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6581896Z               "line": 417
2026-06-16T08:24:18.6581977Z             },
2026-06-16T08:24:18.6582055Z             {
2026-06-16T08:24:18.6582197Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T08:24:18.6582292Z               "line": 252
2026-06-16T08:24:18.6582374Z             },
2026-06-16T08:24:18.6582450Z             {
2026-06-16T08:24:18.6582554Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6582640Z               "line": 3441
2026-06-16T08:24:18.6582727Z             },
2026-06-16T08:24:18.6582807Z             {
2026-06-16T08:24:18.6582907Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6582989Z               "line": 3942
2026-06-16T08:24:18.6583074Z             },
2026-06-16T08:24:18.6583155Z             {
2026-06-16T08:24:18.6583255Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6583333Z               "line": 4571
2026-06-16T08:24:18.6583561Z             }
2026-06-16T08:24:18.6583643Z           ]
2026-06-16T08:24:18.6583723Z         },
2026-06-16T08:24:18.6583803Z         "int": {
2026-06-16T08:24:18.6583897Z           "complete": true,
2026-06-16T08:24:18.6583979Z           "evidence": [
2026-06-16T08:24:18.6584153Z             {
2026-06-16T08:24:18.6584297Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-16T08:24:18.6584373Z               "line": 22
2026-06-16T08:24:18.6584454Z             },
2026-06-16T08:24:18.6584534Z             {
2026-06-16T08:24:18.6584664Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6584754Z               "line": 621
2026-06-16T08:24:18.6584834Z             },
2026-06-16T08:24:18.6584912Z             {
2026-06-16T08:24:18.6585026Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6585111Z               "line": 863
2026-06-16T08:24:18.6585193Z             }
2026-06-16T08:24:18.6585274Z           ]
2026-06-16T08:24:18.6585355Z         },
2026-06-16T08:24:18.6585441Z         "unit": {
2026-06-16T08:24:18.6585541Z           "complete": true,
2026-06-16T08:24:18.6585627Z           "evidence": [
2026-06-16T08:24:18.6585707Z             {
2026-06-16T08:24:18.6585832Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6585923Z               "line": 586
2026-06-16T08:24:18.6586003Z             },
2026-06-16T08:24:18.6586085Z             {
2026-06-16T08:24:18.6586186Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6586271Z               "line": 8830
2026-06-16T08:24:18.6586356Z             },
2026-06-16T08:24:18.6586436Z             {
2026-06-16T08:24:18.6586541Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6586635Z               "line": 9524
2026-06-16T08:24:18.6586715Z             }
2026-06-16T08:24:18.6586801Z           ]
2026-06-16T08:24:18.6586882Z         }
2026-06-16T08:24:18.6586964Z       }
2026-06-16T08:24:18.6587039Z     },
2026-06-16T08:24:18.6587120Z     {
2026-06-16T08:24:18.6587221Z       "id": "REQ-SUBNET-3",
2026-06-16T08:24:18.6587493Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-16T08:24:18.6587593Z       "requiredStages": [
2026-06-16T08:24:18.6587673Z         "impl",
2026-06-16T08:24:18.6587759Z         "unit"
2026-06-16T08:24:18.6587836Z       ],
2026-06-16T08:24:18.6587921Z       "stages": {
2026-06-16T08:24:18.6588002Z         "doc": {
2026-06-16T08:24:18.6588084Z           "complete": false,
2026-06-16T08:24:18.6588175Z           "evidence": []
2026-06-16T08:24:18.6588255Z         },
2026-06-16T08:24:18.6588345Z         "impl": {
2026-06-16T08:24:18.6588433Z           "complete": true,
2026-06-16T08:24:18.6588532Z           "evidence": [
2026-06-16T08:24:18.6588608Z             {
2026-06-16T08:24:18.6588743Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6588824Z               "line": 152
2026-06-16T08:24:18.6588899Z             },
2026-06-16T08:24:18.6589048Z             {
2026-06-16T08:24:18.6589176Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6589260Z               "line": 299
2026-06-16T08:24:18.6589341Z             },
2026-06-16T08:24:18.6589422Z             {
2026-06-16T08:24:18.6589547Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6589632Z               "line": 437
2026-06-16T08:24:18.6589714Z             },
2026-06-16T08:24:18.6589786Z             {
2026-06-16T08:24:18.6589904Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6589994Z               "line": 480
2026-06-16T08:24:18.6590077Z             },
2026-06-16T08:24:18.6590157Z             {
2026-06-16T08:24:18.6590275Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6590362Z               "line": 125
2026-06-16T08:24:18.6590434Z             },
2026-06-16T08:24:18.6590510Z             {
2026-06-16T08:24:18.6590624Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6590805Z               "line": 253
2026-06-16T08:24:18.6590891Z             },
2026-06-16T08:24:18.6590973Z             {
2026-06-16T08:24:18.6591097Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6591268Z               "line": 264
2026-06-16T08:24:18.6591355Z             },
2026-06-16T08:24:18.6591435Z             {
2026-06-16T08:24:18.6591553Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6591634Z               "line": 285
2026-06-16T08:24:18.6591715Z             },
2026-06-16T08:24:18.6591798Z             {
2026-06-16T08:24:18.6591917Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6592009Z               "line": 589
2026-06-16T08:24:18.6592085Z             },
2026-06-16T08:24:18.6592156Z             {
2026-06-16T08:24:18.6592275Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6592362Z               "line": 648
2026-06-16T08:24:18.6592456Z             },
2026-06-16T08:24:18.6592542Z             {
2026-06-16T08:24:18.6592657Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.6592752Z               "line": 61
2026-06-16T08:24:18.6592833Z             },
2026-06-16T08:24:18.6592910Z             {
2026-06-16T08:24:18.6593029Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.6593119Z               "line": 90
2026-06-16T08:24:18.6593195Z             },
2026-06-16T08:24:18.6593278Z             {
2026-06-16T08:24:18.6593387Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.6593472Z               "line": 125
2026-06-16T08:24:18.6593554Z             },
2026-06-16T08:24:18.6593630Z             {
2026-06-16T08:24:18.6593753Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-16T08:24:18.6593855Z               "line": 9
2026-06-16T08:24:18.6593936Z             },
2026-06-16T08:24:18.6594015Z             {
2026-06-16T08:24:18.6594121Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6594222Z               "line": 3779
2026-06-16T08:24:18.6594302Z             },
2026-06-16T08:24:18.6594387Z             {
2026-06-16T08:24:18.6594496Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6594587Z               "line": 445
2026-06-16T08:24:18.6594670Z             }
2026-06-16T08:24:18.6594751Z           ]
2026-06-16T08:24:18.6594832Z         },
2026-06-16T08:24:18.6594914Z         "int": {
2026-06-16T08:24:18.6595014Z           "complete": false,
2026-06-16T08:24:18.6595099Z           "evidence": []
2026-06-16T08:24:18.6595177Z         },
2026-06-16T08:24:18.6595262Z         "unit": {
2026-06-16T08:24:18.6595352Z           "complete": true,
2026-06-16T08:24:18.6595443Z           "evidence": [
2026-06-16T08:24:18.6595520Z             {
2026-06-16T08:24:18.6595638Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6595724Z               "line": 1304
2026-06-16T08:24:18.6595806Z             },
2026-06-16T08:24:18.6595891Z             {
2026-06-16T08:24:18.6596015Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6596111Z               "line": 1606
2026-06-16T08:24:18.6596192Z             },
2026-06-16T08:24:18.6596277Z             {
2026-06-16T08:24:18.6596411Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6596502Z               "line": 888
2026-06-16T08:24:18.6596592Z             },
2026-06-16T08:24:18.6596669Z             {
2026-06-16T08:24:18.6596789Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6596873Z               "line": 959
2026-06-16T08:24:18.6596963Z             },
2026-06-16T08:24:18.6597044Z             {
2026-06-16T08:24:18.6597158Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6597252Z               "line": 1009
2026-06-16T08:24:18.6597332Z             },
2026-06-16T08:24:18.6597419Z             {
2026-06-16T08:24:18.6597533Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6597699Z               "line": 1068
2026-06-16T08:24:18.6597781Z             },
2026-06-16T08:24:18.6597862Z             {
2026-06-16T08:24:18.6597985Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T08:24:18.6598139Z               "line": 234
2026-06-16T08:24:18.6598224Z             },
2026-06-16T08:24:18.6598310Z             {
2026-06-16T08:24:18.6598425Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-16T08:24:18.6598510Z               "line": 49
2026-06-16T08:24:18.6598586Z             },
2026-06-16T08:24:18.6598663Z             {
2026-06-16T08:24:18.6598768Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6598854Z               "line": 9166
2026-06-16T08:24:18.6599026Z             },
2026-06-16T08:24:18.6599101Z             {
2026-06-16T08:24:18.6599202Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6599288Z               "line": 9272
2026-06-16T08:24:18.6599393Z             },
2026-06-16T08:24:18.6599468Z             {
2026-06-16T08:24:18.6599569Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6599651Z               "line": 9490
2026-06-16T08:24:18.6599731Z             }
2026-06-16T08:24:18.6599807Z           ]
2026-06-16T08:24:18.6599892Z         }
2026-06-16T08:24:18.6599978Z       }
2026-06-16T08:24:18.6600060Z     },
2026-06-16T08:24:18.6600131Z     {
2026-06-16T08:24:18.6600226Z       "id": "REQ-SUBNET-4",
2026-06-16T08:24:18.6600511Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-16T08:24:18.6600608Z       "requiredStages": [
2026-06-16T08:24:18.6600684Z         "impl",
2026-06-16T08:24:18.6600770Z         "unit"
2026-06-16T08:24:18.6600845Z       ],
2026-06-16T08:24:18.6600937Z       "stages": {
2026-06-16T08:24:18.6601046Z         "doc": {
2026-06-16T08:24:18.6601127Z           "complete": true,
2026-06-16T08:24:18.6601223Z           "evidence": [
2026-06-16T08:24:18.6601304Z             {
2026-06-16T08:24:18.6601465Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-16T08:24:18.6601548Z               "line": 60
2026-06-16T08:24:18.6601624Z             }
2026-06-16T08:24:18.6601708Z           ]
2026-06-16T08:24:18.6601794Z         },
2026-06-16T08:24:18.6601872Z         "impl": {
2026-06-16T08:24:18.6601972Z           "complete": true,
2026-06-16T08:24:18.6602060Z           "evidence": [
2026-06-16T08:24:18.6602146Z             {
2026-06-16T08:24:18.6602246Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6602336Z               "line": 3085
2026-06-16T08:24:18.6602416Z             },
2026-06-16T08:24:18.6602497Z             {
2026-06-16T08:24:18.6602593Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6602688Z               "line": 4538
2026-06-16T08:24:18.6602764Z             },
2026-06-16T08:24:18.6602845Z             {
2026-06-16T08:24:18.6602950Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6603035Z               "line": 4571
2026-06-16T08:24:18.6603126Z             }
2026-06-16T08:24:18.6603204Z           ]
2026-06-16T08:24:18.6603289Z         },
2026-06-16T08:24:18.6603369Z         "int": {
2026-06-16T08:24:18.6603466Z           "complete": false,
2026-06-16T08:24:18.6603561Z           "evidence": []
2026-06-16T08:24:18.6603637Z         },
2026-06-16T08:24:18.6603727Z         "unit": {
2026-06-16T08:24:18.6603804Z           "complete": true,
2026-06-16T08:24:18.6603890Z           "evidence": [
2026-06-16T08:24:18.6603966Z             {
2026-06-16T08:24:18.6604075Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6604167Z               "line": 8946
2026-06-16T08:24:18.6604246Z             },
2026-06-16T08:24:18.6604323Z             {
2026-06-16T08:24:18.6604420Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6604510Z               "line": 9020
2026-06-16T08:24:18.6604589Z             }
2026-06-16T08:24:18.6604666Z           ]
2026-06-16T08:24:18.6604858Z         }
2026-06-16T08:24:18.6604937Z       }
2026-06-16T08:24:18.6605013Z     },
2026-06-16T08:24:18.6605094Z     {
2026-06-16T08:24:18.6605193Z       "id": "REQ-SUBNET-5",
2026-06-16T08:24:18.6606390Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-16T08:24:18.6606599Z       "requiredStages": [
2026-06-16T08:24:18.6606681Z         "impl",
2026-06-16T08:24:18.6606766Z         "unit",
2026-06-16T08:24:18.6606852Z         "int"
2026-06-16T08:24:18.6606928Z       ],
2026-06-16T08:24:18.6607001Z       "stages": {
2026-06-16T08:24:18.6607086Z         "doc": {
2026-06-16T08:24:18.6607171Z           "complete": false,
2026-06-16T08:24:18.6607272Z           "evidence": []
2026-06-16T08:24:18.6607349Z         },
2026-06-16T08:24:18.6607429Z         "impl": {
2026-06-16T08:24:18.6607509Z           "complete": true,
2026-06-16T08:24:18.6607599Z           "evidence": [
2026-06-16T08:24:18.6607681Z             {
2026-06-16T08:24:18.6607797Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T08:24:18.6607882Z               "line": 128
2026-06-16T08:24:18.6607964Z             },
2026-06-16T08:24:18.6608046Z             {
2026-06-16T08:24:18.6608169Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T08:24:18.6608255Z               "line": 413
2026-06-16T08:24:18.6608337Z             },
2026-06-16T08:24:18.6608413Z             {
2026-06-16T08:24:18.6608536Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6608619Z               "line": 74
2026-06-16T08:24:18.6608694Z             },
2026-06-16T08:24:18.6608770Z             {
2026-06-16T08:24:18.6608890Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.6609061Z               "line": 332
2026-06-16T08:24:18.6609142Z             },
2026-06-16T08:24:18.6609223Z             {
2026-06-16T08:24:18.6609338Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.6609428Z               "line": 621
2026-06-16T08:24:18.6609529Z             },
2026-06-16T08:24:18.6609610Z             {
2026-06-16T08:24:18.6609723Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.6609809Z               "line": 31
2026-06-16T08:24:18.6609882Z             },
2026-06-16T08:24:18.6609962Z             {
2026-06-16T08:24:18.6610096Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.6610178Z               "line": 50
2026-06-16T08:24:18.6610263Z             },
2026-06-16T08:24:18.6610352Z             {
2026-06-16T08:24:18.6610466Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.6610552Z               "line": 69
2026-06-16T08:24:18.6610634Z             },
2026-06-16T08:24:18.6610719Z             {
2026-06-16T08:24:18.6610834Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.6610920Z               "line": 113
2026-06-16T08:24:18.6610996Z             },
2026-06-16T08:24:18.6611071Z             {
2026-06-16T08:24:18.6611201Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T08:24:18.6611287Z               "line": 25
2026-06-16T08:24:18.6611368Z             },
2026-06-16T08:24:18.6611444Z             {
2026-06-16T08:24:18.6611568Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T08:24:18.6611659Z               "line": 34
2026-06-16T08:24:18.6611739Z             },
2026-06-16T08:24:18.6611821Z             {
2026-06-16T08:24:18.6611940Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T08:24:18.6612030Z               "line": 17
2026-06-16T08:24:18.6612113Z             },
2026-06-16T08:24:18.6612198Z             {
2026-06-16T08:24:18.6612297Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6612475Z               "line": 4496
2026-06-16T08:24:18.6612555Z             },
2026-06-16T08:24:18.6612630Z             {
2026-06-16T08:24:18.6612749Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T08:24:18.6612933Z               "line": 419
2026-06-16T08:24:18.6613009Z             }
2026-06-16T08:24:18.6613095Z           ]
2026-06-16T08:24:18.6613172Z         },
2026-06-16T08:24:18.6613253Z         "int": {
2026-06-16T08:24:18.6613343Z           "complete": true,
2026-06-16T08:24:18.6613434Z           "evidence": [
2026-06-16T08:24:18.6613520Z             {
2026-06-16T08:24:18.6613638Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6613735Z               "line": 817
2026-06-16T08:24:18.6613820Z             }
2026-06-16T08:24:18.6613901Z           ]
2026-06-16T08:24:18.6613982Z         },
2026-06-16T08:24:18.6614064Z         "unit": {
2026-06-16T08:24:18.6614163Z           "complete": true,
2026-06-16T08:24:18.6614248Z           "evidence": [
2026-06-16T08:24:18.6614330Z             {
2026-06-16T08:24:18.6614450Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.6614545Z               "line": 341
2026-06-16T08:24:18.6614621Z             },
2026-06-16T08:24:18.6614708Z             {
2026-06-16T08:24:18.6614835Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T08:24:18.6614921Z               "line": 1115
2026-06-16T08:24:18.6615003Z             },
2026-06-16T08:24:18.6615084Z             {
2026-06-16T08:24:18.6615207Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T08:24:18.6615290Z               "line": 151
2026-06-16T08:24:18.6615376Z             },
2026-06-16T08:24:18.6615455Z             {
2026-06-16T08:24:18.6615582Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T08:24:18.6615669Z               "line": 61
2026-06-16T08:24:18.6615754Z             },
2026-06-16T08:24:18.6615833Z             {
2026-06-16T08:24:18.6615962Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T08:24:18.6616053Z               "line": 111
2026-06-16T08:24:18.6616138Z             },
2026-06-16T08:24:18.6616219Z             {
2026-06-16T08:24:18.6616340Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T08:24:18.6616430Z               "line": 138
2026-06-16T08:24:18.6616520Z             },
2026-06-16T08:24:18.6616592Z             {
2026-06-16T08:24:18.6616716Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T08:24:18.6616810Z               "line": 148
2026-06-16T08:24:18.6616883Z             },
2026-06-16T08:24:18.6616965Z             {
2026-06-16T08:24:18.6617059Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6617154Z               "line": 8847
2026-06-16T08:24:18.6617236Z             }
2026-06-16T08:24:18.6617322Z           ]
2026-06-16T08:24:18.6617402Z         }
2026-06-16T08:24:18.6617474Z       }
2026-06-16T08:24:18.6617556Z     },
2026-06-16T08:24:18.6617641Z     {
2026-06-16T08:24:18.6617741Z       "id": "REQ-SUBNET-6",
2026-06-16T08:24:18.6618433Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-16T08:24:18.6618539Z       "requiredStages": [
2026-06-16T08:24:18.6618630Z         "impl",
2026-06-16T08:24:18.6618705Z         "unit"
2026-06-16T08:24:18.6618781Z       ],
2026-06-16T08:24:18.6618864Z       "stages": {
2026-06-16T08:24:18.6619029Z         "doc": {
2026-06-16T08:24:18.6619125Z           "complete": false,
2026-06-16T08:24:18.6619202Z           "evidence": []
2026-06-16T08:24:18.6619283Z         },
2026-06-16T08:24:18.6619363Z         "impl": {
2026-06-16T08:24:18.6619455Z           "complete": true,
2026-06-16T08:24:18.6619545Z           "evidence": [
2026-06-16T08:24:18.6619626Z             {
2026-06-16T08:24:18.6619841Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6619921Z               "line": 254
2026-06-16T08:24:18.6620002Z             },
2026-06-16T08:24:18.6620079Z             {
2026-06-16T08:24:18.6620184Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6620369Z               "line": 4154
2026-06-16T08:24:18.6620452Z             },
2026-06-16T08:24:18.6620532Z             {
2026-06-16T08:24:18.6620637Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6620728Z               "line": 4171
2026-06-16T08:24:18.6620814Z             },
2026-06-16T08:24:18.6620889Z             {
2026-06-16T08:24:18.6620988Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6621079Z               "line": 4224
2026-06-16T08:24:18.6621151Z             },
2026-06-16T08:24:18.6621232Z             {
2026-06-16T08:24:18.6621331Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6621413Z               "line": 4247
2026-06-16T08:24:18.6621499Z             }
2026-06-16T08:24:18.6621584Z           ]
2026-06-16T08:24:18.6621670Z         },
2026-06-16T08:24:18.6621752Z         "int": {
2026-06-16T08:24:18.6621833Z           "complete": false,
2026-06-16T08:24:18.6621923Z           "evidence": []
2026-06-16T08:24:18.6622009Z         },
2026-06-16T08:24:18.6622095Z         "unit": {
2026-06-16T08:24:18.6622185Z           "complete": true,
2026-06-16T08:24:18.6622275Z           "evidence": [
2026-06-16T08:24:18.6622353Z             {
2026-06-16T08:24:18.6622500Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6622586Z               "line": 8861
2026-06-16T08:24:18.6622673Z             },
2026-06-16T08:24:18.6622748Z             {
2026-06-16T08:24:18.6622847Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6622929Z               "line": 8894
2026-06-16T08:24:18.6623007Z             },
2026-06-16T08:24:18.6623087Z             {
2026-06-16T08:24:18.6623190Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6623280Z               "line": 8903
2026-06-16T08:24:18.6623362Z             }
2026-06-16T08:24:18.6623446Z           ]
2026-06-16T08:24:18.6623526Z         }
2026-06-16T08:24:18.6623607Z       }
2026-06-16T08:24:18.6623689Z     },
2026-06-16T08:24:18.6623766Z     {
2026-06-16T08:24:18.6623864Z       "id": "REQ-SUBNET-7",
2026-06-16T08:24:18.6625520Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-16T08:24:18.6625621Z       "requiredStages": [
2026-06-16T08:24:18.6625705Z         "impl",
2026-06-16T08:24:18.6625796Z         "unit"
2026-06-16T08:24:18.6625879Z       ],
2026-06-16T08:24:18.6625959Z       "stages": {
2026-06-16T08:24:18.6626043Z         "doc": {
2026-06-16T08:24:18.6626129Z           "complete": false,
2026-06-16T08:24:18.6626215Z           "evidence": []
2026-06-16T08:24:18.6626290Z         },
2026-06-16T08:24:18.6626370Z         "impl": {
2026-06-16T08:24:18.6626465Z           "complete": true,
2026-06-16T08:24:18.6626556Z           "evidence": [
2026-06-16T08:24:18.6626638Z             {
2026-06-16T08:24:18.6626760Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T08:24:18.6626852Z               "line": 17
2026-06-16T08:24:18.6626952Z             },
2026-06-16T08:24:18.6627032Z             {
2026-06-16T08:24:18.6627153Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6627248Z               "line": 103
2026-06-16T08:24:18.6627333Z             },
2026-06-16T08:24:18.6627419Z             {
2026-06-16T08:24:18.6627529Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T08:24:18.6627681Z               "line": 312
2026-06-16T08:24:18.6627772Z             },
2026-06-16T08:24:18.6627849Z             {
2026-06-16T08:24:18.6627972Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T08:24:18.6628135Z               "line": 131
2026-06-16T08:24:18.6628216Z             },
2026-06-16T08:24:18.6628301Z             {
2026-06-16T08:24:18.6628422Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6628512Z               "line": 160
2026-06-16T08:24:18.6628591Z             },
2026-06-16T08:24:18.6628667Z             {
2026-06-16T08:24:18.6628796Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6628880Z               "line": 441
2026-06-16T08:24:18.6629031Z             },
2026-06-16T08:24:18.6629108Z             {
2026-06-16T08:24:18.6629228Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6629323Z               "line": 618
2026-06-16T08:24:18.6629409Z             },
2026-06-16T08:24:18.6629495Z             {
2026-06-16T08:24:18.6629613Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6629705Z               "line": 658
2026-06-16T08:24:18.6629781Z             },
2026-06-16T08:24:18.6629862Z             {
2026-06-16T08:24:18.6629985Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6630063Z               "line": 714
2026-06-16T08:24:18.6630143Z             },
2026-06-16T08:24:18.6630219Z             {
2026-06-16T08:24:18.6630339Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6630425Z               "line": 136
2026-06-16T08:24:18.6630506Z             },
2026-06-16T08:24:18.6630581Z             {
2026-06-16T08:24:18.6630702Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6630791Z               "line": 139
2026-06-16T08:24:18.6630872Z             }
2026-06-16T08:24:18.6630954Z           ]
2026-06-16T08:24:18.6631041Z         },
2026-06-16T08:24:18.6631120Z         "int": {
2026-06-16T08:24:18.6631216Z           "complete": false,
2026-06-16T08:24:18.6631298Z           "evidence": []
2026-06-16T08:24:18.6631384Z         },
2026-06-16T08:24:18.6631472Z         "unit": {
2026-06-16T08:24:18.6631567Z           "complete": true,
2026-06-16T08:24:18.6631654Z           "evidence": [
2026-06-16T08:24:18.6631736Z             {
2026-06-16T08:24:18.6631858Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T08:24:18.6631935Z               "line": 136
2026-06-16T08:24:18.6632021Z             },
2026-06-16T08:24:18.6632102Z             {
2026-06-16T08:24:18.6632215Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T08:24:18.6632298Z               "line": 156
2026-06-16T08:24:18.6632379Z             },
2026-06-16T08:24:18.6632468Z             {
2026-06-16T08:24:18.6632588Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6632684Z               "line": 935
2026-06-16T08:24:18.6632755Z             },
2026-06-16T08:24:18.6632831Z             {
2026-06-16T08:24:18.6632956Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T08:24:18.6633046Z               "line": 957
2026-06-16T08:24:18.6633127Z             },
2026-06-16T08:24:18.6633213Z             {
2026-06-16T08:24:18.6633342Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T08:24:18.6633432Z               "line": 1419
2026-06-16T08:24:18.6633518Z             },
2026-06-16T08:24:18.6633595Z             {
2026-06-16T08:24:18.6633718Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T08:24:18.6633803Z               "line": 1004
2026-06-16T08:24:18.6633884Z             }
2026-06-16T08:24:18.6633960Z           ]
2026-06-16T08:24:18.6634039Z         }
2026-06-16T08:24:18.6634129Z       }
2026-06-16T08:24:18.6634206Z     },
2026-06-16T08:24:18.6634288Z     {
2026-06-16T08:24:18.6634383Z       "id": "REQ-SUBNET-8",
2026-06-16T08:24:18.6635589Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-16T08:24:18.6635790Z       "requiredStages": [
2026-06-16T08:24:18.6635871Z         "impl",
2026-06-16T08:24:18.6635960Z         "unit"
2026-06-16T08:24:18.6636036Z       ],
2026-06-16T08:24:18.6636115Z       "stages": {
2026-06-16T08:24:18.6636204Z         "doc": {
2026-06-16T08:24:18.6636284Z           "complete": false,
2026-06-16T08:24:18.6636386Z           "evidence": []
2026-06-16T08:24:18.6636467Z         },
2026-06-16T08:24:18.6636557Z         "impl": {
2026-06-16T08:24:18.6636651Z           "complete": true,
2026-06-16T08:24:18.6636741Z           "evidence": [
2026-06-16T08:24:18.6636827Z             {
2026-06-16T08:24:18.6636940Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6637025Z               "line": 3521
2026-06-16T08:24:18.6637106Z             },
2026-06-16T08:24:18.6637188Z             {
2026-06-16T08:24:18.6637287Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6637373Z               "line": 3550
2026-06-16T08:24:18.6637465Z             },
2026-06-16T08:24:18.6637541Z             {
2026-06-16T08:24:18.6637645Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6637732Z               "line": 3567
2026-06-16T08:24:18.6637808Z             },
2026-06-16T08:24:18.6637898Z             {
2026-06-16T08:24:18.6637998Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6638094Z               "line": 3590
2026-06-16T08:24:18.6638174Z             },
2026-06-16T08:24:18.6638260Z             {
2026-06-16T08:24:18.6638357Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6638442Z               "line": 4004
2026-06-16T08:24:18.6638527Z             }
2026-06-16T08:24:18.6638613Z           ]
2026-06-16T08:24:18.6638700Z         },
2026-06-16T08:24:18.6638771Z         "int": {
2026-06-16T08:24:18.6638866Z           "complete": false,
2026-06-16T08:24:18.6639005Z           "evidence": []
2026-06-16T08:24:18.6639100Z         },
2026-06-16T08:24:18.6639189Z         "unit": {
2026-06-16T08:24:18.6639279Z           "complete": true,
2026-06-16T08:24:18.6639375Z           "evidence": [
2026-06-16T08:24:18.6639450Z             {
2026-06-16T08:24:18.6639549Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6639626Z               "line": 9051
2026-06-16T08:24:18.6639707Z             },
2026-06-16T08:24:18.6639793Z             {
2026-06-16T08:24:18.6639887Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6639969Z               "line": 9067
2026-06-16T08:24:18.6640050Z             }
2026-06-16T08:24:18.6640131Z           ]
2026-06-16T08:24:18.6640212Z         }
2026-06-16T08:24:18.6640299Z       }
2026-06-16T08:24:18.6640374Z     },
2026-06-16T08:24:18.6640460Z     {
2026-06-16T08:24:18.6640550Z       "id": "REQ-TERM-1",
2026-06-16T08:24:18.6640722Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-16T08:24:18.6640822Z       "requiredStages": [
2026-06-16T08:24:18.6640909Z         "impl",
2026-06-16T08:24:18.6640990Z         "unit"
2026-06-16T08:24:18.6641071Z       ],
2026-06-16T08:24:18.6641151Z       "stages": {
2026-06-16T08:24:18.6641233Z         "doc": {
2026-06-16T08:24:18.6641319Z           "complete": false,
2026-06-16T08:24:18.6641414Z           "evidence": []
2026-06-16T08:24:18.6641500Z         },
2026-06-16T08:24:18.6641577Z         "impl": {
2026-06-16T08:24:18.6641671Z           "complete": true,
2026-06-16T08:24:18.6641757Z           "evidence": [
2026-06-16T08:24:18.6641839Z             {
2026-06-16T08:24:18.6641940Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T08:24:18.6642023Z               "line": 59
2026-06-16T08:24:18.6642104Z             },
2026-06-16T08:24:18.6642271Z             {
2026-06-16T08:24:18.6642385Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T08:24:18.6642466Z               "line": 195
2026-06-16T08:24:18.6642548Z             },
2026-06-16T08:24:18.6642624Z             {
2026-06-16T08:24:18.6642839Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T08:24:18.6642915Z               "line": 100
2026-06-16T08:24:18.6642996Z             }
2026-06-16T08:24:18.6643076Z           ]
2026-06-16T08:24:18.6643158Z         },
2026-06-16T08:24:18.6643244Z         "int": {
2026-06-16T08:24:18.6643334Z           "complete": false,
2026-06-16T08:24:18.6643424Z           "evidence": []
2026-06-16T08:24:18.6643507Z         },
2026-06-16T08:24:18.6643596Z         "unit": {
2026-06-16T08:24:18.6643692Z           "complete": true,
2026-06-16T08:24:18.6643778Z           "evidence": [
2026-06-16T08:24:18.6643855Z             {
2026-06-16T08:24:18.6643963Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T08:24:18.6644059Z               "line": 24
2026-06-16T08:24:18.6644137Z             },
2026-06-16T08:24:18.6644217Z             {
2026-06-16T08:24:18.6644325Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T08:24:18.6644434Z               "line": 56
2026-06-16T08:24:18.6644524Z             }
2026-06-16T08:24:18.6644604Z           ]
2026-06-16T08:24:18.6644684Z         }
2026-06-16T08:24:18.6644766Z       }
2026-06-16T08:24:18.6644848Z     },
2026-06-16T08:24:18.6644923Z     {
2026-06-16T08:24:18.6645013Z       "id": "REQ-TERM-2",
2026-06-16T08:24:18.6645196Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-16T08:24:18.6645290Z       "requiredStages": [
2026-06-16T08:24:18.6645376Z         "impl",
2026-06-16T08:24:18.6645453Z         "unit"
2026-06-16T08:24:18.6645534Z       ],
2026-06-16T08:24:18.6645619Z       "stages": {
2026-06-16T08:24:18.6645701Z         "doc": {
2026-06-16T08:24:18.6645796Z           "complete": false,
2026-06-16T08:24:18.6645891Z           "evidence": []
2026-06-16T08:24:18.6645967Z         },
2026-06-16T08:24:18.6646055Z         "impl": {
2026-06-16T08:24:18.6646149Z           "complete": true,
2026-06-16T08:24:18.6648787Z           "evidence": [
2026-06-16T08:24:18.6648892Z             {
2026-06-16T08:24:18.6649121Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T08:24:18.6649212Z               "line": 117
2026-06-16T08:24:18.6649298Z             },
2026-06-16T08:24:18.6649378Z             {
2026-06-16T08:24:18.6649508Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T08:24:18.6649599Z               "line": 127
2026-06-16T08:24:18.6649674Z             }
2026-06-16T08:24:18.6649754Z           ]
2026-06-16T08:24:18.6649830Z         },
2026-06-16T08:24:18.6649921Z         "int": {
2026-06-16T08:24:18.6650015Z           "complete": false,
2026-06-16T08:24:18.6650109Z           "evidence": []
2026-06-16T08:24:18.6650200Z         },
2026-06-16T08:24:18.6650277Z         "unit": {
2026-06-16T08:24:18.6650376Z           "complete": true,
2026-06-16T08:24:18.6650457Z           "evidence": [
2026-06-16T08:24:18.6650539Z             {
2026-06-16T08:24:18.6650659Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-16T08:24:18.6650752Z               "line": 46
2026-06-16T08:24:18.6650840Z             },
2026-06-16T08:24:18.6650911Z             {
2026-06-16T08:24:18.6651029Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-16T08:24:18.6651110Z               "line": 77
2026-06-16T08:24:18.6651192Z             }
2026-06-16T08:24:18.6651273Z           ]
2026-06-16T08:24:18.6651358Z         }
2026-06-16T08:24:18.6651435Z       }
2026-06-16T08:24:18.6651517Z     },
2026-06-16T08:24:18.6651601Z     {
2026-06-16T08:24:18.6651692Z       "id": "REQ-TERM-3",
2026-06-16T08:24:18.6651832Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-16T08:24:18.6651916Z       "requiredStages": [
2026-06-16T08:24:18.6652011Z         "impl",
2026-06-16T08:24:18.6652094Z         "unit"
2026-06-16T08:24:18.6652293Z       ],
2026-06-16T08:24:18.6652394Z       "stages": {
2026-06-16T08:24:18.6652471Z         "doc": {
2026-06-16T08:24:18.6652560Z           "complete": false,
2026-06-16T08:24:18.6652650Z           "evidence": []
2026-06-16T08:24:18.6652841Z         },
2026-06-16T08:24:18.6652931Z         "impl": {
2026-06-16T08:24:18.6653007Z           "complete": true,
2026-06-16T08:24:18.6653103Z           "evidence": [
2026-06-16T08:24:18.6653179Z             {
2026-06-16T08:24:18.6653307Z               "path": "crates/spt-term/src/stream.rs",
2026-06-16T08:24:18.6653389Z               "line": 71
2026-06-16T08:24:18.6653470Z             }
2026-06-16T08:24:18.6653551Z           ]
2026-06-16T08:24:18.6653627Z         },
2026-06-16T08:24:18.6653709Z         "int": {
2026-06-16T08:24:18.6653799Z           "complete": false,
2026-06-16T08:24:18.6653890Z           "evidence": []
2026-06-16T08:24:18.6653966Z         },
2026-06-16T08:24:18.6654052Z         "unit": {
2026-06-16T08:24:18.6654151Z           "complete": true,
2026-06-16T08:24:18.6654237Z           "evidence": [
2026-06-16T08:24:18.6654319Z             {
2026-06-16T08:24:18.6654438Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-16T08:24:18.6654518Z               "line": 37
2026-06-16T08:24:18.6654600Z             },
2026-06-16T08:24:18.6654677Z             {
2026-06-16T08:24:18.6654795Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-16T08:24:18.6654876Z               "line": 67
2026-06-16T08:24:18.6654961Z             }
2026-06-16T08:24:18.6655043Z           ]
2026-06-16T08:24:18.6655122Z         }
2026-06-16T08:24:18.6655207Z       }
2026-06-16T08:24:18.6655288Z     },
2026-06-16T08:24:18.6655369Z     {
2026-06-16T08:24:18.6655451Z       "id": "REQ-TERM-4",
2026-06-16T08:24:18.6655956Z       "title": "Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt endpoint digest) + structured-delta-stream contract + api digest-entry push",
2026-06-16T08:24:18.6656051Z       "requiredStages": [
2026-06-16T08:24:18.6656141Z         "impl",
2026-06-16T08:24:18.6656227Z         "unit",
2026-06-16T08:24:18.6656314Z         "int"
2026-06-16T08:24:18.6656399Z       ],
2026-06-16T08:24:18.6656480Z       "stages": {
2026-06-16T08:24:18.6656571Z         "doc": {
2026-06-16T08:24:18.6656657Z           "complete": false,
2026-06-16T08:24:18.6656738Z           "evidence": []
2026-06-16T08:24:18.6656819Z         },
2026-06-16T08:24:18.6656905Z         "impl": {
2026-06-16T08:24:18.6656995Z           "complete": true,
2026-06-16T08:24:18.6657081Z           "evidence": [
2026-06-16T08:24:18.6657157Z             {
2026-06-16T08:24:18.6657273Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6657352Z               "line": 37
2026-06-16T08:24:18.6657439Z             },
2026-06-16T08:24:18.6657516Z             {
2026-06-16T08:24:18.6657644Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6657724Z               "line": 25
2026-06-16T08:24:18.6657809Z             },
2026-06-16T08:24:18.6657895Z             {
2026-06-16T08:24:18.6658017Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6658107Z               "line": 114
2026-06-16T08:24:18.6658188Z             },
2026-06-16T08:24:18.6658275Z             {
2026-06-16T08:24:18.6658389Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6658479Z               "line": 267
2026-06-16T08:24:18.6658561Z             },
2026-06-16T08:24:18.6658642Z             {
2026-06-16T08:24:18.6658760Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6658843Z               "line": 289
2026-06-16T08:24:18.6658933Z             },
2026-06-16T08:24:18.6659079Z             {
2026-06-16T08:24:18.6659200Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6659276Z               "line": 307
2026-06-16T08:24:18.6659357Z             },
2026-06-16T08:24:18.6659448Z             {
2026-06-16T08:24:18.6659657Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.6659748Z               "line": 33
2026-06-16T08:24:18.6659834Z             },
2026-06-16T08:24:18.6659910Z             {
2026-06-16T08:24:18.6660029Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6660216Z               "line": 52
2026-06-16T08:24:18.6660295Z             },
2026-06-16T08:24:18.6660376Z             {
2026-06-16T08:24:18.6660500Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6660579Z               "line": 180
2026-06-16T08:24:18.6660664Z             },
2026-06-16T08:24:18.6660746Z             {
2026-06-16T08:24:18.6660856Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6660951Z               "line": 190
2026-06-16T08:24:18.6661032Z             },
2026-06-16T08:24:18.6661109Z             {
2026-06-16T08:24:18.6661219Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6661312Z               "line": 250
2026-06-16T08:24:18.6661395Z             },
2026-06-16T08:24:18.6661476Z             {
2026-06-16T08:24:18.6661594Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6661676Z               "line": 280
2026-06-16T08:24:18.6661752Z             },
2026-06-16T08:24:18.6661833Z             {
2026-06-16T08:24:18.6661947Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6662034Z               "line": 291
2026-06-16T08:24:18.6662115Z             },
2026-06-16T08:24:18.6662191Z             {
2026-06-16T08:24:18.6662295Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6662387Z               "line": 1136
2026-06-16T08:24:18.6662467Z             }
2026-06-16T08:24:18.6662544Z           ]
2026-06-16T08:24:18.6662630Z         },
2026-06-16T08:24:18.6662711Z         "int": {
2026-06-16T08:24:18.6662805Z           "complete": true,
2026-06-16T08:24:18.6662882Z           "evidence": [
2026-06-16T08:24:18.6662969Z             {
2026-06-16T08:24:18.6663097Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-16T08:24:18.6663186Z               "line": 18
2026-06-16T08:24:18.6663267Z             }
2026-06-16T08:24:18.6663348Z           ]
2026-06-16T08:24:18.6663426Z         },
2026-06-16T08:24:18.6663510Z         "unit": {
2026-06-16T08:24:18.6663600Z           "complete": true,
2026-06-16T08:24:18.6663688Z           "evidence": [
2026-06-16T08:24:18.6663774Z             {
2026-06-16T08:24:18.6663891Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6663978Z               "line": 349
2026-06-16T08:24:18.6664059Z             },
2026-06-16T08:24:18.6664140Z             {
2026-06-16T08:24:18.6664259Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6664341Z               "line": 401
2026-06-16T08:24:18.6664416Z             },
2026-06-16T08:24:18.6664497Z             {
2026-06-16T08:24:18.6664603Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6664693Z               "line": 411
2026-06-16T08:24:18.6664770Z             },
2026-06-16T08:24:18.6664855Z             {
2026-06-16T08:24:18.6664971Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6665050Z               "line": 436
2026-06-16T08:24:18.6665131Z             },
2026-06-16T08:24:18.6665208Z             {
2026-06-16T08:24:18.6665332Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6665421Z               "line": 456
2026-06-16T08:24:18.6665497Z             },
2026-06-16T08:24:18.6665574Z             {
2026-06-16T08:24:18.6665691Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6665786Z               "line": 478
2026-06-16T08:24:18.6665858Z             },
2026-06-16T08:24:18.6665944Z             {
2026-06-16T08:24:18.6666058Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6666148Z               "line": 491
2026-06-16T08:24:18.6666220Z             },
2026-06-16T08:24:18.6666396Z             {
2026-06-16T08:24:18.6666511Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T08:24:18.6666592Z               "line": 502
2026-06-16T08:24:18.6666669Z             },
2026-06-16T08:24:18.6666744Z             {
2026-06-16T08:24:18.6666860Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.6667021Z               "line": 108
2026-06-16T08:24:18.6667111Z             },
2026-06-16T08:24:18.6667189Z             {
2026-06-16T08:24:18.6667303Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T08:24:18.6667388Z               "line": 119
2026-06-16T08:24:18.6667465Z             },
2026-06-16T08:24:18.6667546Z             {
2026-06-16T08:24:18.6667655Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T08:24:18.6667736Z               "line": 127
2026-06-16T08:24:18.6667819Z             },
2026-06-16T08:24:18.6667898Z             {
2026-06-16T08:24:18.6668023Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6668104Z               "line": 474
2026-06-16T08:24:18.6668181Z             },
2026-06-16T08:24:18.6668260Z             {
2026-06-16T08:24:18.6668383Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6668470Z               "line": 501
2026-06-16T08:24:18.6668544Z             },
2026-06-16T08:24:18.6668625Z             {
2026-06-16T08:24:18.6668739Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6668826Z               "line": 520
2026-06-16T08:24:18.6668906Z             },
2026-06-16T08:24:18.6669044Z             {
2026-06-16T08:24:18.6669150Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6669235Z               "line": 535
2026-06-16T08:24:18.6669325Z             },
2026-06-16T08:24:18.6669398Z             {
2026-06-16T08:24:18.6669517Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6669611Z               "line": 561
2026-06-16T08:24:18.6669693Z             },
2026-06-16T08:24:18.6669765Z             {
2026-06-16T08:24:18.6669888Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6669974Z               "line": 581
2026-06-16T08:24:18.6670052Z             },
2026-06-16T08:24:18.6670141Z             {
2026-06-16T08:24:18.6670260Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6670342Z               "line": 591
2026-06-16T08:24:18.6670428Z             },
2026-06-16T08:24:18.6670503Z             {
2026-06-16T08:24:18.6670623Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6670710Z               "line": 683
2026-06-16T08:24:18.6670785Z             },
2026-06-16T08:24:18.6670870Z             {
2026-06-16T08:24:18.6670984Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6671074Z               "line": 881
2026-06-16T08:24:18.6671153Z             },
2026-06-16T08:24:18.6671234Z             {
2026-06-16T08:24:18.6671330Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6671431Z               "line": 8618
2026-06-16T08:24:18.6671506Z             }
2026-06-16T08:24:18.6671582Z           ]
2026-06-16T08:24:18.6671664Z         }
2026-06-16T08:24:18.6671740Z       }
2026-06-16T08:24:18.6671830Z     },
2026-06-16T08:24:18.6671916Z     {
2026-06-16T08:24:18.6671998Z       "id": "REQ-TERM-5",
2026-06-16T08:24:18.6673519Z       "title": "Adapter-declared digest extractor seam: a `[digest]` manifest section declaring an imperative extractor (native harness log -> the {role,text,tool,ts} contract; defaults to the [history] source files with an own-source escape hatch), `api digest-entry` push fallback, register-time validation of the section, adapter-declared presentation defaults (window depth, arg-truncation, sprint-collapse) that any consumer may override, and a `spt adapter digest-proof` author tool plus runtime skip-diagnostics (no silent drop). Reverses M9's no-manifest-seam stance; no declarative DSL.",
2026-06-16T08:24:18.6673620Z       "requiredStages": [
2026-06-16T08:24:18.6673793Z         "doc",
2026-06-16T08:24:18.6673875Z         "impl",
2026-06-16T08:24:18.6673957Z         "unit",
2026-06-16T08:24:18.6674037Z         "int"
2026-06-16T08:24:18.6674118Z       ],
2026-06-16T08:24:18.6674200Z       "stages": {
2026-06-16T08:24:18.6674376Z         "doc": {
2026-06-16T08:24:18.6674471Z           "complete": true,
2026-06-16T08:24:18.6674558Z           "evidence": [
2026-06-16T08:24:18.6674628Z             {
2026-06-16T08:24:18.6674733Z               "path": "docs/MANIFEST.md",
2026-06-16T08:24:18.6674814Z               "line": 167
2026-06-16T08:24:18.6674896Z             }
2026-06-16T08:24:18.6674976Z           ]
2026-06-16T08:24:18.6675057Z         },
2026-06-16T08:24:18.6675144Z         "impl": {
2026-06-16T08:24:18.6675230Z           "complete": true,
2026-06-16T08:24:18.6675315Z           "evidence": [
2026-06-16T08:24:18.6675400Z             {
2026-06-16T08:24:18.6675516Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6675610Z               "line": 75
2026-06-16T08:24:18.6675691Z             },
2026-06-16T08:24:18.6675778Z             {
2026-06-16T08:24:18.6675893Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6675977Z               "line": 131
2026-06-16T08:24:18.6676053Z             },
2026-06-16T08:24:18.6676134Z             {
2026-06-16T08:24:18.6676242Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6676327Z               "line": 22
2026-06-16T08:24:18.6676403Z             },
2026-06-16T08:24:18.6676475Z             {
2026-06-16T08:24:18.6676590Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6676670Z               "line": 81
2026-06-16T08:24:18.6676752Z             },
2026-06-16T08:24:18.6676828Z             {
2026-06-16T08:24:18.6676933Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T08:24:18.6677014Z               "line": 30
2026-06-16T08:24:18.6677096Z             },
2026-06-16T08:24:18.6677176Z             {
2026-06-16T08:24:18.6677295Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6677382Z               "line": 103
2026-06-16T08:24:18.6677463Z             },
2026-06-16T08:24:18.6677539Z             {
2026-06-16T08:24:18.6677648Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6677735Z               "line": 167
2026-06-16T08:24:18.6677815Z             },
2026-06-16T08:24:18.6677896Z             {
2026-06-16T08:24:18.6678011Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6678098Z               "line": 434
2026-06-16T08:24:18.6678181Z             },
2026-06-16T08:24:18.6678258Z             {
2026-06-16T08:24:18.6678355Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6678436Z               "line": 5262
2026-06-16T08:24:18.6678520Z             },
2026-06-16T08:24:18.6678597Z             {
2026-06-16T08:24:18.6678689Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6678783Z               "line": 5298
2026-06-16T08:24:18.6678868Z             }
2026-06-16T08:24:18.6679035Z           ]
2026-06-16T08:24:18.6679123Z         },
2026-06-16T08:24:18.6679194Z         "int": {
2026-06-16T08:24:18.6679295Z           "complete": true,
2026-06-16T08:24:18.6679371Z           "evidence": [
2026-06-16T08:24:18.6679462Z             {
2026-06-16T08:24:18.6679604Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T08:24:18.6679682Z               "line": 17
2026-06-16T08:24:18.6679763Z             }
2026-06-16T08:24:18.6679838Z           ]
2026-06-16T08:24:18.6679914Z         },
2026-06-16T08:24:18.6680001Z         "unit": {
2026-06-16T08:24:18.6680082Z           "complete": true,
2026-06-16T08:24:18.6680167Z           "evidence": [
2026-06-16T08:24:18.6680239Z             {
2026-06-16T08:24:18.6680358Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6680439Z               "line": 360
2026-06-16T08:24:18.6680515Z             },
2026-06-16T08:24:18.6680701Z             {
2026-06-16T08:24:18.6680811Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6680902Z               "line": 153
2026-06-16T08:24:18.6680978Z             },
2026-06-16T08:24:18.6681063Z             {
2026-06-16T08:24:18.6681164Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6681345Z               "line": 169
2026-06-16T08:24:18.6681430Z             },
2026-06-16T08:24:18.6681510Z             {
2026-06-16T08:24:18.6681625Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6681704Z               "line": 191
2026-06-16T08:24:18.6681784Z             },
2026-06-16T08:24:18.6681861Z             {
2026-06-16T08:24:18.6681981Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6682071Z               "line": 202
2026-06-16T08:24:18.6682147Z             },
2026-06-16T08:24:18.6682224Z             {
2026-06-16T08:24:18.6682324Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T08:24:18.6682419Z               "line": 213
2026-06-16T08:24:18.6682491Z             },
2026-06-16T08:24:18.6682577Z             {
2026-06-16T08:24:18.6682696Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6682781Z               "line": 1244
2026-06-16T08:24:18.6682868Z             },
2026-06-16T08:24:18.6682948Z             {
2026-06-16T08:24:18.6683067Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6683144Z               "line": 1287
2026-06-16T08:24:18.6683235Z             },
2026-06-16T08:24:18.6683316Z             {
2026-06-16T08:24:18.6683435Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6683526Z               "line": 606
2026-06-16T08:24:18.6683602Z             },
2026-06-16T08:24:18.6683683Z             {
2026-06-16T08:24:18.6683798Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6683888Z               "line": 634
2026-06-16T08:24:18.6683973Z             },
2026-06-16T08:24:18.6684045Z             {
2026-06-16T08:24:18.6684175Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6684264Z               "line": 646
2026-06-16T08:24:18.6684344Z             },
2026-06-16T08:24:18.6684425Z             {
2026-06-16T08:24:18.6684551Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6684645Z               "line": 669
2026-06-16T08:24:18.6684721Z             },
2026-06-16T08:24:18.6684803Z             {
2026-06-16T08:24:18.6684908Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6684992Z               "line": 7367
2026-06-16T08:24:18.6685065Z             },
2026-06-16T08:24:18.6685146Z             {
2026-06-16T08:24:18.6685246Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6685331Z               "line": 7425
2026-06-16T08:24:18.6685409Z             }
2026-06-16T08:24:18.6685489Z           ]
2026-06-16T08:24:18.6685561Z         }
2026-06-16T08:24:18.6685641Z       }
2026-06-16T08:24:18.6685728Z     },
2026-06-16T08:24:18.6685814Z     {
2026-06-16T08:24:18.6685904Z       "id": "REQ-TERM-6",
2026-06-16T08:24:18.6687035Z       "title": "Thread-spanning digest across session boundaries: a per-endpoint session ledger (`<perch>/sessions.log`) appended at first bind and by `api boundary` on `/clear`|`/compact` session rotation, the digest enumerating the last K sessions so its rolling window bridges a boundary, and a distinctive in-timeline boundary marker (DigestEntry::Boundary). The digest follows the live-agent thread, not a single session.",
2026-06-16T08:24:18.6687132Z       "requiredStages": [
2026-06-16T08:24:18.6687216Z         "impl",
2026-06-16T08:24:18.6687297Z         "unit",
2026-06-16T08:24:18.6687384Z         "int"
2026-06-16T08:24:18.6687460Z       ],
2026-06-16T08:24:18.6687550Z       "stages": {
2026-06-16T08:24:18.6687641Z         "doc": {
2026-06-16T08:24:18.6687736Z           "complete": false,
2026-06-16T08:24:18.6687827Z           "evidence": []
2026-06-16T08:24:18.6687903Z         },
2026-06-16T08:24:18.6688060Z         "impl": {
2026-06-16T08:24:18.6688155Z           "complete": true,
2026-06-16T08:24:18.6688236Z           "evidence": [
2026-06-16T08:24:18.6688328Z             {
2026-06-16T08:24:18.6688456Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6688619Z               "line": 132
2026-06-16T08:24:18.6688704Z             },
2026-06-16T08:24:18.6688785Z             {
2026-06-16T08:24:18.6688906Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6689047Z               "line": 176
2026-06-16T08:24:18.6689128Z             },
2026-06-16T08:24:18.6689215Z             {
2026-06-16T08:24:18.6689325Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6689423Z               "line": 17
2026-06-16T08:24:18.6689508Z             },
2026-06-16T08:24:18.6689585Z             {
2026-06-16T08:24:18.6689712Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6689797Z               "line": 96
2026-06-16T08:24:18.6689878Z             },
2026-06-16T08:24:18.6689960Z             {
2026-06-16T08:24:18.6690078Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6690159Z               "line": 319
2026-06-16T08:24:18.6690237Z             },
2026-06-16T08:24:18.6690328Z             {
2026-06-16T08:24:18.6690446Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6690537Z               "line": 396
2026-06-16T08:24:18.6690618Z             }
2026-06-16T08:24:18.6690698Z           ]
2026-06-16T08:24:18.6690779Z         },
2026-06-16T08:24:18.6690866Z         "int": {
2026-06-16T08:24:18.6690956Z           "complete": true,
2026-06-16T08:24:18.6691032Z           "evidence": [
2026-06-16T08:24:18.6691118Z             {
2026-06-16T08:24:18.6691261Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T08:24:18.6691351Z               "line": 18
2026-06-16T08:24:18.6691433Z             }
2026-06-16T08:24:18.6691515Z           ]
2026-06-16T08:24:18.6691599Z         },
2026-06-16T08:24:18.6691671Z         "unit": {
2026-06-16T08:24:18.6691768Z           "complete": true,
2026-06-16T08:24:18.6691849Z           "evidence": [
2026-06-16T08:24:18.6691933Z             {
2026-06-16T08:24:18.6692041Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6692142Z               "line": 126
2026-06-16T08:24:18.6692222Z             },
2026-06-16T08:24:18.6692307Z             {
2026-06-16T08:24:18.6692426Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6692508Z               "line": 141
2026-06-16T08:24:18.6692584Z             },
2026-06-16T08:24:18.6692664Z             {
2026-06-16T08:24:18.6692780Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6692875Z               "line": 157
2026-06-16T08:24:18.6692955Z             },
2026-06-16T08:24:18.6693031Z             {
2026-06-16T08:24:18.6693146Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T08:24:18.6693242Z               "line": 175
2026-06-16T08:24:18.6693322Z             },
2026-06-16T08:24:18.6693400Z             {
2026-06-16T08:24:18.6693523Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6693599Z               "line": 738
2026-06-16T08:24:18.6693685Z             },
2026-06-16T08:24:18.6693758Z             {
2026-06-16T08:24:18.6693880Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6693961Z               "line": 759
2026-06-16T08:24:18.6694049Z             },
2026-06-16T08:24:18.6694138Z             {
2026-06-16T08:24:18.6694252Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T08:24:18.6694339Z               "line": 722
2026-06-16T08:24:18.6694425Z             }
2026-06-16T08:24:18.6694500Z           ]
2026-06-16T08:24:18.6694582Z         }
2026-06-16T08:24:18.6694663Z       }
2026-06-16T08:24:18.6694754Z     },
2026-06-16T08:24:18.6694838Z     {
2026-06-16T08:24:18.6694933Z       "id": "REQ-TERM-7",
2026-06-16T08:24:18.6696196Z       "title": "Two-origin digest merge: spt-owned context-injection entries (psyche_download | echo_mirror | owl_message) appended by spt to the endpoint `digest.log`, timestamp-interleaved with the adapter's extracted activity records into one ordered timeline, via a distinct context-injection record category. Data model only this milestone; GUI collapse/expand and the echo-reads-digest delta loop are deferred to the surfaces that consume them.",
2026-06-16T08:24:18.6696378Z       "requiredStages": [
2026-06-16T08:24:18.6696469Z         "impl",
2026-06-16T08:24:18.6696550Z         "unit",
2026-06-16T08:24:18.6696641Z         "int"
2026-06-16T08:24:18.6696721Z       ],
2026-06-16T08:24:18.6696812Z       "stages": {
2026-06-16T08:24:18.6696884Z         "doc": {
2026-06-16T08:24:18.6696980Z           "complete": false,
2026-06-16T08:24:18.6697064Z           "evidence": []
2026-06-16T08:24:18.6697145Z         },
2026-06-16T08:24:18.6697230Z         "impl": {
2026-06-16T08:24:18.6697316Z           "complete": true,
2026-06-16T08:24:18.6697410Z           "evidence": [
2026-06-16T08:24:18.6697485Z             {
2026-06-16T08:24:18.6697615Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6697705Z               "line": 133
2026-06-16T08:24:18.6697790Z             },
2026-06-16T08:24:18.6697877Z             {
2026-06-16T08:24:18.6697991Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6698072Z               "line": 311
2026-06-16T08:24:18.6698158Z             },
2026-06-16T08:24:18.6698235Z             {
2026-06-16T08:24:18.6698354Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T08:24:18.6698439Z               "line": 15
2026-06-16T08:24:18.6698521Z             },
2026-06-16T08:24:18.6698597Z             {
2026-06-16T08:24:18.6698707Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T08:24:18.6698797Z               "line": 32
2026-06-16T08:24:18.6698874Z             },
2026-06-16T08:24:18.6699026Z             {
2026-06-16T08:24:18.6699136Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.6699227Z               "line": 49
2026-06-16T08:24:18.6699311Z             },
2026-06-16T08:24:18.6699392Z             {
2026-06-16T08:24:18.6699513Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6699603Z               "line": 286
2026-06-16T08:24:18.6699693Z             },
2026-06-16T08:24:18.6699775Z             {
2026-06-16T08:24:18.6699890Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6699978Z               "line": 320
2026-06-16T08:24:18.6700054Z             }
2026-06-16T08:24:18.6700145Z           ]
2026-06-16T08:24:18.6700221Z         },
2026-06-16T08:24:18.6700295Z         "int": {
2026-06-16T08:24:18.6700376Z           "complete": true,
2026-06-16T08:24:18.6700467Z           "evidence": [
2026-06-16T08:24:18.6700549Z             {
2026-06-16T08:24:18.6700696Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T08:24:18.6700797Z               "line": 19
2026-06-16T08:24:18.6700878Z             }
2026-06-16T08:24:18.6700958Z           ]
2026-06-16T08:24:18.6701039Z         },
2026-06-16T08:24:18.6701117Z         "unit": {
2026-06-16T08:24:18.6701207Z           "complete": true,
2026-06-16T08:24:18.6701306Z           "evidence": [
2026-06-16T08:24:18.6701388Z             {
2026-06-16T08:24:18.6701497Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6701578Z               "line": 440
2026-06-16T08:24:18.6701659Z             },
2026-06-16T08:24:18.6701737Z             {
2026-06-16T08:24:18.6701850Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T08:24:18.6701940Z               "line": 551
2026-06-16T08:24:18.6702028Z             },
2026-06-16T08:24:18.6702099Z             {
2026-06-16T08:24:18.6702212Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T08:24:18.6702299Z               "line": 58
2026-06-16T08:24:18.6702385Z             },
2026-06-16T08:24:18.6702564Z             {
2026-06-16T08:24:18.6702683Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T08:24:18.6702764Z               "line": 77
2026-06-16T08:24:18.6702848Z             },
2026-06-16T08:24:18.6702938Z             {
2026-06-16T08:24:18.6703139Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T08:24:18.6703220Z               "line": 87
2026-06-16T08:24:18.6703301Z             },
2026-06-16T08:24:18.6703378Z             {
2026-06-16T08:24:18.6703491Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T08:24:18.6703568Z               "line": 94
2026-06-16T08:24:18.6703650Z             },
2026-06-16T08:24:18.6703730Z             {
2026-06-16T08:24:18.6703854Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6703941Z               "line": 691
2026-06-16T08:24:18.6704017Z             },
2026-06-16T08:24:18.6704097Z             {
2026-06-16T08:24:18.6704211Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T08:24:18.6704304Z               "line": 716
2026-06-16T08:24:18.6704383Z             }
2026-06-16T08:24:18.6704474Z           ]
2026-06-16T08:24:18.6704550Z         }
2026-06-16T08:24:18.6704637Z       }
2026-06-16T08:24:18.6704722Z     },
2026-06-16T08:24:18.6704798Z     {
2026-06-16T08:24:18.6704890Z       "id": "REQ-UPD-1",
2026-06-16T08:24:18.6704999Z       "title": "Peer-propagated update over P2P",
2026-06-16T08:24:18.6705098Z       "requiredStages": [
2026-06-16T08:24:18.6705180Z         "impl",
2026-06-16T08:24:18.6705267Z         "unit",
2026-06-16T08:24:18.6705346Z         "int"
2026-06-16T08:24:18.6705427Z       ],
2026-06-16T08:24:18.6705517Z       "stages": {
2026-06-16T08:24:18.6705599Z         "doc": {
2026-06-16T08:24:18.6705694Z           "complete": false,
2026-06-16T08:24:18.6705784Z           "evidence": []
2026-06-16T08:24:18.6705865Z         },
2026-06-16T08:24:18.6705957Z         "impl": {
2026-06-16T08:24:18.6706051Z           "complete": true,
2026-06-16T08:24:18.6706146Z           "evidence": [
2026-06-16T08:24:18.6706229Z             {
2026-06-16T08:24:18.6706361Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6706446Z               "line": 28
2026-06-16T08:24:18.6706529Z             },
2026-06-16T08:24:18.6706609Z             {
2026-06-16T08:24:18.6706728Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6706819Z               "line": 103
2026-06-16T08:24:18.6706896Z             },
2026-06-16T08:24:18.6706981Z             {
2026-06-16T08:24:18.6707095Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6707187Z               "line": 342
2026-06-16T08:24:18.6707267Z             },
2026-06-16T08:24:18.6707348Z             {
2026-06-16T08:24:18.6707468Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6707549Z               "line": 22
2026-06-16T08:24:18.6707634Z             },
2026-06-16T08:24:18.6707724Z             {
2026-06-16T08:24:18.6707838Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6707932Z               "line": 207
2026-06-16T08:24:18.6708012Z             },
2026-06-16T08:24:18.6708093Z             {
2026-06-16T08:24:18.6708209Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6708304Z               "line": 283
2026-06-16T08:24:18.6708384Z             },
2026-06-16T08:24:18.6708466Z             {
2026-06-16T08:24:18.6708589Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6708670Z               "line": 340
2026-06-16T08:24:18.6708747Z             },
2026-06-16T08:24:18.6708829Z             {
2026-06-16T08:24:18.6709028Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6709124Z               "line": 37
2026-06-16T08:24:18.6709205Z             }
2026-06-16T08:24:18.6709281Z           ]
2026-06-16T08:24:18.6709362Z         },
2026-06-16T08:24:18.6709439Z         "int": {
2026-06-16T08:24:18.6709529Z           "complete": true,
2026-06-16T08:24:18.6709726Z           "evidence": [
2026-06-16T08:24:18.6709806Z             {
2026-06-16T08:24:18.6709934Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T08:24:18.6710026Z               "line": 207
2026-06-16T08:24:18.6710107Z             },
2026-06-16T08:24:18.6710277Z             {
2026-06-16T08:24:18.6710393Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T08:24:18.6710487Z               "line": 1058
2026-06-16T08:24:18.6710557Z             }
2026-06-16T08:24:18.6710638Z           ]
2026-06-16T08:24:18.6710719Z         },
2026-06-16T08:24:18.6710795Z         "unit": {
2026-06-16T08:24:18.6710888Z           "complete": true,
2026-06-16T08:24:18.6710975Z           "evidence": [
2026-06-16T08:24:18.6711057Z             {
2026-06-16T08:24:18.6711180Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6711261Z               "line": 490
2026-06-16T08:24:18.6711343Z             },
2026-06-16T08:24:18.6711428Z             {
2026-06-16T08:24:18.6711542Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6711619Z               "line": 616
2026-06-16T08:24:18.6711705Z             },
2026-06-16T08:24:18.6711786Z             {
2026-06-16T08:24:18.6711909Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.6712001Z               "line": 277
2026-06-16T08:24:18.6712081Z             },
2026-06-16T08:24:18.6712167Z             {
2026-06-16T08:24:18.6712278Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6712373Z               "line": 124
2026-06-16T08:24:18.6712453Z             },
2026-06-16T08:24:18.6712529Z             {
2026-06-16T08:24:18.6712645Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6712725Z               "line": 200
2026-06-16T08:24:18.6712815Z             }
2026-06-16T08:24:18.6712898Z           ]
2026-06-16T08:24:18.6712983Z         }
2026-06-16T08:24:18.6715508Z       }
2026-06-16T08:24:18.6715606Z     },
2026-06-16T08:24:18.6715682Z     {
2026-06-16T08:24:18.6715779Z       "id": "REQ-UPD-2",
2026-06-16T08:24:18.6715944Z       "title": "All binaries signature-verified before handoff",
2026-06-16T08:24:18.6716039Z       "requiredStages": [
2026-06-16T08:24:18.6716135Z         "impl",
2026-06-16T08:24:18.6716217Z         "unit"
2026-06-16T08:24:18.6716306Z       ],
2026-06-16T08:24:18.6716392Z       "stages": {
2026-06-16T08:24:18.6716469Z         "doc": {
2026-06-16T08:24:18.6716560Z           "complete": false,
2026-06-16T08:24:18.6716644Z           "evidence": []
2026-06-16T08:24:18.6716721Z         },
2026-06-16T08:24:18.6716812Z         "impl": {
2026-06-16T08:24:18.6716893Z           "complete": true,
2026-06-16T08:24:18.6716978Z           "evidence": [
2026-06-16T08:24:18.6717060Z             {
2026-06-16T08:24:18.6717193Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6717274Z               "line": 343
2026-06-16T08:24:18.6717355Z             },
2026-06-16T08:24:18.6717442Z             {
2026-06-16T08:24:18.6717560Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6717660Z               "line": 476
2026-06-16T08:24:18.6717738Z             },
2026-06-16T08:24:18.6717818Z             {
2026-06-16T08:24:18.6717946Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6718038Z               "line": 29
2026-06-16T08:24:18.6718123Z             },
2026-06-16T08:24:18.6718204Z             {
2026-06-16T08:24:18.6718322Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6718403Z               "line": 271
2026-06-16T08:24:18.6718492Z             },
2026-06-16T08:24:18.6718568Z             {
2026-06-16T08:24:18.6718682Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6718774Z               "line": 288
2026-06-16T08:24:18.6718849Z             },
2026-06-16T08:24:18.6718934Z             {
2026-06-16T08:24:18.6719121Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6719379Z               "line": 408
2026-06-16T08:24:18.6719464Z             },
2026-06-16T08:24:18.6719545Z             {
2026-06-16T08:24:18.6719661Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6719736Z               "line": 540
2026-06-16T08:24:18.6719922Z             },
2026-06-16T08:24:18.6720004Z             {
2026-06-16T08:24:18.6720127Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6720222Z               "line": 155
2026-06-16T08:24:18.6720295Z             }
2026-06-16T08:24:18.6720380Z           ]
2026-06-16T08:24:18.6720461Z         },
2026-06-16T08:24:18.6720547Z         "int": {
2026-06-16T08:24:18.6720633Z           "complete": false,
2026-06-16T08:24:18.6720723Z           "evidence": []
2026-06-16T08:24:18.6720800Z         },
2026-06-16T08:24:18.6720881Z         "unit": {
2026-06-16T08:24:18.6720977Z           "complete": true,
2026-06-16T08:24:18.6721056Z           "evidence": [
2026-06-16T08:24:18.6721137Z             {
2026-06-16T08:24:18.6721256Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6721350Z               "line": 697
2026-06-16T08:24:18.6721425Z             },
2026-06-16T08:24:18.6721506Z             {
2026-06-16T08:24:18.6721627Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6721707Z               "line": 758
2026-06-16T08:24:18.6721792Z             },
2026-06-16T08:24:18.6721869Z             {
2026-06-16T08:24:18.6721988Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6722069Z               "line": 772
2026-06-16T08:24:18.6722150Z             },
2026-06-16T08:24:18.6722232Z             {
2026-06-16T08:24:18.6722346Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6722440Z               "line": 788
2026-06-16T08:24:18.6722523Z             },
2026-06-16T08:24:18.6722604Z             {
2026-06-16T08:24:18.6722727Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6722818Z               "line": 879
2026-06-16T08:24:18.6722899Z             },
2026-06-16T08:24:18.6722975Z             {
2026-06-16T08:24:18.6723080Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6723162Z               "line": 414
2026-06-16T08:24:18.6723252Z             },
2026-06-16T08:24:18.6723332Z             {
2026-06-16T08:24:18.6723448Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6723534Z               "line": 427
2026-06-16T08:24:18.6723619Z             },
2026-06-16T08:24:18.6723699Z             {
2026-06-16T08:24:18.6723822Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.6723903Z               "line": 410
2026-06-16T08:24:18.6723992Z             }
2026-06-16T08:24:18.6724068Z           ]
2026-06-16T08:24:18.6724154Z         }
2026-06-16T08:24:18.6724232Z       }
2026-06-16T08:24:18.6724316Z     },
2026-06-16T08:24:18.6724397Z     {
2026-06-16T08:24:18.6724489Z       "id": "REQ-UPD-3",
2026-06-16T08:24:18.6724659Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-16T08:24:18.6724741Z       "requiredStages": [
2026-06-16T08:24:18.6724822Z         "impl",
2026-06-16T08:24:18.6724908Z         "unit",
2026-06-16T08:24:18.6724993Z         "int"
2026-06-16T08:24:18.6725075Z       ],
2026-06-16T08:24:18.6725161Z       "stages": {
2026-06-16T08:24:18.6725242Z         "doc": {
2026-06-16T08:24:18.6725332Z           "complete": false,
2026-06-16T08:24:18.6725424Z           "evidence": []
2026-06-16T08:24:18.6725504Z         },
2026-06-16T08:24:18.6725589Z         "impl": {
2026-06-16T08:24:18.6725680Z           "complete": true,
2026-06-16T08:24:18.6725767Z           "evidence": [
2026-06-16T08:24:18.6725851Z             {
2026-06-16T08:24:18.6726005Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6726115Z               "line": 40
2026-06-16T08:24:18.6726194Z             },
2026-06-16T08:24:18.6726276Z             {
2026-06-16T08:24:18.6726463Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6726542Z               "line": 87
2026-06-16T08:24:18.6726627Z             },
2026-06-16T08:24:18.6726704Z             {
2026-06-16T08:24:18.6726819Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T08:24:18.6726971Z               "line": 993
2026-06-16T08:24:18.6727053Z             },
2026-06-16T08:24:18.6727134Z             {
2026-06-16T08:24:18.6727248Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T08:24:18.6727344Z               "line": 1085
2026-06-16T08:24:18.6727424Z             },
2026-06-16T08:24:18.6727505Z             {
2026-06-16T08:24:18.6727610Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6727702Z               "line": 26
2026-06-16T08:24:18.6727772Z             },
2026-06-16T08:24:18.6727858Z             {
2026-06-16T08:24:18.6727969Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6728054Z               "line": 114
2026-06-16T08:24:18.6728139Z             },
2026-06-16T08:24:18.6728220Z             {
2026-06-16T08:24:18.6728331Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6728420Z               "line": 246
2026-06-16T08:24:18.6728492Z             },
2026-06-16T08:24:18.6728632Z             {
2026-06-16T08:24:18.6728735Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6728829Z               "line": 2224
2026-06-16T08:24:18.6728910Z             }
2026-06-16T08:24:18.6729085Z           ]
2026-06-16T08:24:18.6729175Z         },
2026-06-16T08:24:18.6729247Z         "int": {
2026-06-16T08:24:18.6729344Z           "complete": true,
2026-06-16T08:24:18.6729424Z           "evidence": [
2026-06-16T08:24:18.6729538Z             {
2026-06-16T08:24:18.6729658Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T08:24:18.6729747Z               "line": 58
2026-06-16T08:24:18.6729823Z             }
2026-06-16T08:24:18.6729906Z           ]
2026-06-16T08:24:18.6729991Z         },
2026-06-16T08:24:18.6730067Z         "unit": {
2026-06-16T08:24:18.6730163Z           "complete": true,
2026-06-16T08:24:18.6730240Z           "evidence": [
2026-06-16T08:24:18.6730316Z             {
2026-06-16T08:24:18.6730434Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6730526Z               "line": 532
2026-06-16T08:24:18.6730620Z             },
2026-06-16T08:24:18.6730701Z             {
2026-06-16T08:24:18.6730821Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6730907Z               "line": 583
2026-06-16T08:24:18.6730987Z             },
2026-06-16T08:24:18.6731073Z             {
2026-06-16T08:24:18.6731185Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6731278Z               "line": 651
2026-06-16T08:24:18.6731355Z             },
2026-06-16T08:24:18.6731432Z             {
2026-06-16T08:24:18.6731546Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T08:24:18.6731636Z               "line": 1076
2026-06-16T08:24:18.6731715Z             },
2026-06-16T08:24:18.6731787Z             {
2026-06-16T08:24:18.6731905Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6731981Z               "line": 271
2026-06-16T08:24:18.6732061Z             },
2026-06-16T08:24:18.6732143Z             {
2026-06-16T08:24:18.6732262Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6732347Z               "line": 295
2026-06-16T08:24:18.6732449Z             },
2026-06-16T08:24:18.6732534Z             {
2026-06-16T08:24:18.6732648Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6732739Z               "line": 316
2026-06-16T08:24:18.6732816Z             },
2026-06-16T08:24:18.6732902Z             {
2026-06-16T08:24:18.6733010Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6733093Z               "line": 332
2026-06-16T08:24:18.6733173Z             }
2026-06-16T08:24:18.6733354Z           ]
2026-06-16T08:24:18.6733436Z         }
2026-06-16T08:24:18.6733521Z       }
2026-06-16T08:24:18.6733607Z     },
2026-06-16T08:24:18.6733688Z     {
2026-06-16T08:24:18.6733779Z       "id": "REQ-UPD-4",
2026-06-16T08:24:18.6733964Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-16T08:24:18.6734151Z       "requiredStages": [
2026-06-16T08:24:18.6734235Z         "impl",
2026-06-16T08:24:18.6734316Z         "unit"
2026-06-16T08:24:18.6734388Z       ],
2026-06-16T08:24:18.6734477Z       "stages": {
2026-06-16T08:24:18.6734547Z         "doc": {
2026-06-16T08:24:18.6734642Z           "complete": false,
2026-06-16T08:24:18.6734724Z           "evidence": []
2026-06-16T08:24:18.6734801Z         },
2026-06-16T08:24:18.6734881Z         "impl": {
2026-06-16T08:24:18.6734976Z           "complete": true,
2026-06-16T08:24:18.6735054Z           "evidence": [
2026-06-16T08:24:18.6735135Z             {
2026-06-16T08:24:18.6735258Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6735344Z               "line": 41
2026-06-16T08:24:18.6735430Z             },
2026-06-16T08:24:18.6735497Z             {
2026-06-16T08:24:18.6735616Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6735702Z               "line": 88
2026-06-16T08:24:18.6735777Z             },
2026-06-16T08:24:18.6735858Z             {
2026-06-16T08:24:18.6735974Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6736060Z               "line": 23
2026-06-16T08:24:18.6736136Z             },
2026-06-16T08:24:18.6736221Z             {
2026-06-16T08:24:18.6736332Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6736412Z               "line": 56
2026-06-16T08:24:18.6736497Z             },
2026-06-16T08:24:18.6736575Z             {
2026-06-16T08:24:18.6736689Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6736774Z               "line": 77
2026-06-16T08:24:18.6736851Z             },
2026-06-16T08:24:18.6736942Z             {
2026-06-16T08:24:18.6737060Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T08:24:18.6737150Z               "line": 186
2026-06-16T08:24:18.6737231Z             },
2026-06-16T08:24:18.6737322Z             {
2026-06-16T08:24:18.6737445Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T08:24:18.6737531Z               "line": 108
2026-06-16T08:24:18.6737604Z             },
2026-06-16T08:24:18.6737690Z             {
2026-06-16T08:24:18.6737803Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.6737885Z               "line": 212
2026-06-16T08:24:18.6737961Z             },
2026-06-16T08:24:18.6738047Z             {
2026-06-16T08:24:18.6738146Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6738238Z               "line": 2223
2026-06-16T08:24:18.6738318Z             }
2026-06-16T08:24:18.6738408Z           ]
2026-06-16T08:24:18.6738485Z         },
2026-06-16T08:24:18.6738581Z         "int": {
2026-06-16T08:24:18.6738671Z           "complete": false,
2026-06-16T08:24:18.6738757Z           "evidence": []
2026-06-16T08:24:18.6738839Z         },
2026-06-16T08:24:18.6738915Z         "unit": {
2026-06-16T08:24:18.6739081Z           "complete": true,
2026-06-16T08:24:18.6739173Z           "evidence": [
2026-06-16T08:24:18.6739253Z             {
2026-06-16T08:24:18.6739376Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6739466Z               "line": 579
2026-06-16T08:24:18.6739552Z             },
2026-06-16T08:24:18.6739631Z             {
2026-06-16T08:24:18.6739749Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6739822Z               "line": 704
2026-06-16T08:24:18.6739904Z             },
2026-06-16T08:24:18.6739984Z             {
2026-06-16T08:24:18.6740098Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T08:24:18.6740175Z               "line": 384
2026-06-16T08:24:18.6740251Z             },
2026-06-16T08:24:18.6740437Z             {
2026-06-16T08:24:18.6740551Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6740641Z               "line": 102
2026-06-16T08:24:18.6740723Z             },
2026-06-16T08:24:18.6740800Z             {
2026-06-16T08:24:18.6741009Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6741091Z               "line": 123
2026-06-16T08:24:18.6741171Z             },
2026-06-16T08:24:18.6741247Z             {
2026-06-16T08:24:18.6741367Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T08:24:18.6741453Z               "line": 142
2026-06-16T08:24:18.6741533Z             },
2026-06-16T08:24:18.6741614Z             {
2026-06-16T08:24:18.6741720Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T08:24:18.6741810Z               "line": 456
2026-06-16T08:24:18.6741886Z             },
2026-06-16T08:24:18.6741967Z             {
2026-06-16T08:24:18.6742083Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T08:24:18.6742172Z               "line": 566
2026-06-16T08:24:18.6742248Z             },
2026-06-16T08:24:18.6742333Z             {
2026-06-16T08:24:18.6742438Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6742517Z               "line": 7120
2026-06-16T08:24:18.6742602Z             }
2026-06-16T08:24:18.6742679Z           ]
2026-06-16T08:24:18.6742761Z         }
2026-06-16T08:24:18.6742836Z       }
2026-06-16T08:24:18.6742912Z     },
2026-06-16T08:24:18.6742999Z     {
2026-06-16T08:24:18.6743090Z       "id": "REQ-UPD-5",
2026-06-16T08:24:18.6743232Z       "title": "spt-core ripple-updates registered adapters",
2026-06-16T08:24:18.6743324Z       "requiredStages": [
2026-06-16T08:24:18.6743404Z         "impl",
2026-06-16T08:24:18.6743485Z         "unit"
2026-06-16T08:24:18.6743565Z       ],
2026-06-16T08:24:18.6743663Z       "stages": {
2026-06-16T08:24:18.6743738Z         "doc": {
2026-06-16T08:24:18.6743823Z           "complete": false,
2026-06-16T08:24:18.6743919Z           "evidence": []
2026-06-16T08:24:18.6744005Z         },
2026-06-16T08:24:18.6744081Z         "impl": {
2026-06-16T08:24:18.6744162Z           "complete": true,
2026-06-16T08:24:18.6744253Z           "evidence": [
2026-06-16T08:24:18.6744334Z             {
2026-06-16T08:24:18.6744472Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6744564Z               "line": 27
2026-06-16T08:24:18.6744640Z             },
2026-06-16T08:24:18.6744720Z             {
2026-06-16T08:24:18.6744847Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6744934Z               "line": 82
2026-06-16T08:24:18.6745018Z             },
2026-06-16T08:24:18.6745103Z             {
2026-06-16T08:24:18.6745222Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6745314Z               "line": 134
2026-06-16T08:24:18.6745394Z             },
2026-06-16T08:24:18.6745474Z             {
2026-06-16T08:24:18.6745585Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6745666Z               "line": 492
2026-06-16T08:24:18.6745746Z             },
2026-06-16T08:24:18.6745827Z             {
2026-06-16T08:24:18.6745947Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6746033Z               "line": 528
2026-06-16T08:24:18.6746108Z             }
2026-06-16T08:24:18.6746196Z           ]
2026-06-16T08:24:18.6746281Z         },
2026-06-16T08:24:18.6746362Z         "int": {
2026-06-16T08:24:18.6746457Z           "complete": false,
2026-06-16T08:24:18.6746539Z           "evidence": []
2026-06-16T08:24:18.6746629Z         },
2026-06-16T08:24:18.6746710Z         "unit": {
2026-06-16T08:24:18.6746810Z           "complete": true,
2026-06-16T08:24:18.6746901Z           "evidence": [
2026-06-16T08:24:18.6746991Z             {
2026-06-16T08:24:18.6747120Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6747202Z               "line": 232
2026-06-16T08:24:18.6747286Z             },
2026-06-16T08:24:18.6747440Z             {
2026-06-16T08:24:18.6747569Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6747658Z               "line": 246
2026-06-16T08:24:18.6747734Z             },
2026-06-16T08:24:18.6747810Z             {
2026-06-16T08:24:18.6748019Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6748101Z               "line": 260
2026-06-16T08:24:18.6748178Z             },
2026-06-16T08:24:18.6748259Z             {
2026-06-16T08:24:18.6748387Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6748464Z               "line": 274
2026-06-16T08:24:18.6748545Z             },
2026-06-16T08:24:18.6748630Z             {
2026-06-16T08:24:18.6748745Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T08:24:18.6748826Z               "line": 308
2026-06-16T08:24:18.6748912Z             },
2026-06-16T08:24:18.6749065Z             {
2026-06-16T08:24:18.6749184Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T08:24:18.6749283Z               "line": 972
2026-06-16T08:24:18.6749360Z             }
2026-06-16T08:24:18.6749437Z           ]
2026-06-16T08:24:18.6749513Z         }
2026-06-16T08:24:18.6749594Z       }
2026-06-16T08:24:18.6749694Z     },
2026-06-16T08:24:18.6749767Z     {
2026-06-16T08:24:18.6749851Z       "id": "REQ-UPD-6",
2026-06-16T08:24:18.6750668Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-16T08:24:18.6750764Z       "requiredStages": [
2026-06-16T08:24:18.6750844Z         "doc",
2026-06-16T08:24:18.6750925Z         "impl",
2026-06-16T08:24:18.6751002Z         "unit",
2026-06-16T08:24:18.6751083Z         "int"
2026-06-16T08:24:18.6751159Z       ],
2026-06-16T08:24:18.6751244Z       "stages": {
2026-06-16T08:24:18.6751331Z         "doc": {
2026-06-16T08:24:18.6751421Z           "complete": true,
2026-06-16T08:24:18.6751502Z           "evidence": [
2026-06-16T08:24:18.6751588Z             {
2026-06-16T08:24:18.6751703Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T08:24:18.6751798Z               "line": 3
2026-06-16T08:24:18.6751884Z             },
2026-06-16T08:24:18.6751961Z             {
2026-06-16T08:24:18.6752069Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-16T08:24:18.6752151Z               "line": 3
2026-06-16T08:24:18.6752227Z             },
2026-06-16T08:24:18.6752305Z             {
2026-06-16T08:24:18.6752451Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-16T08:24:18.6752537Z               "line": 3
2026-06-16T08:24:18.6752619Z             }
2026-06-16T08:24:18.6752695Z           ]
2026-06-16T08:24:18.6752770Z         },
2026-06-16T08:24:18.6752864Z         "impl": {
2026-06-16T08:24:18.6752951Z           "complete": true,
2026-06-16T08:24:18.6753044Z           "evidence": [
2026-06-16T08:24:18.6753120Z             {
2026-06-16T08:24:18.6753239Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6753331Z               "line": 76
2026-06-16T08:24:18.6753411Z             },
2026-06-16T08:24:18.6753491Z             {
2026-06-16T08:24:18.6753607Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6753693Z               "line": 212
2026-06-16T08:24:18.6753773Z             },
2026-06-16T08:24:18.6753860Z             {
2026-06-16T08:24:18.6754003Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6754088Z               "line": 69
2026-06-16T08:24:18.6754169Z             },
2026-06-16T08:24:18.6754251Z             {
2026-06-16T08:24:18.6754369Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6754450Z               "line": 133
2026-06-16T08:24:18.6754533Z             },
2026-06-16T08:24:18.6754722Z             {
2026-06-16T08:24:18.6754828Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6754914Z               "line": 243
2026-06-16T08:24:18.6754998Z             },
2026-06-16T08:24:18.6755075Z             {
2026-06-16T08:24:18.6755275Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6755365Z               "line": 406
2026-06-16T08:24:18.6755451Z             },
2026-06-16T08:24:18.6755527Z             {
2026-06-16T08:24:18.6755649Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6755724Z               "line": 534
2026-06-16T08:24:18.6755816Z             },
2026-06-16T08:24:18.6755893Z             {
2026-06-16T08:24:18.6756020Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6756116Z               "line": 548
2026-06-16T08:24:18.6756198Z             },
2026-06-16T08:24:18.6756278Z             {
2026-06-16T08:24:18.6756392Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6756488Z               "line": 603
2026-06-16T08:24:18.6756574Z             },
2026-06-16T08:24:18.6756655Z             {
2026-06-16T08:24:18.6756775Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6756869Z               "line": 634
2026-06-16T08:24:18.6756950Z             },
2026-06-16T08:24:18.6757022Z             {
2026-06-16T08:24:18.6757156Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T08:24:18.6757237Z               "line": 137
2026-06-16T08:24:18.6757317Z             },
2026-06-16T08:24:18.6757400Z             {
2026-06-16T08:24:18.6757523Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T08:24:18.6757613Z               "line": 184
2026-06-16T08:24:18.6757690Z             },
2026-06-16T08:24:18.6757767Z             {
2026-06-16T08:24:18.6757894Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6757981Z               "line": 78
2026-06-16T08:24:18.6758063Z             },
2026-06-16T08:24:18.6758147Z             {
2026-06-16T08:24:18.6758265Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6758356Z               "line": 114
2026-06-16T08:24:18.6758443Z             },
2026-06-16T08:24:18.6758523Z             {
2026-06-16T08:24:18.6758646Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6758738Z               "line": 185
2026-06-16T08:24:18.6758819Z             },
2026-06-16T08:24:18.6758899Z             {
2026-06-16T08:24:18.6759100Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6759186Z               "line": 260
2026-06-16T08:24:18.6759272Z             },
2026-06-16T08:24:18.6759363Z             {
2026-06-16T08:24:18.6759482Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6759572Z               "line": 292
2026-06-16T08:24:18.6759645Z             },
2026-06-16T08:24:18.6759730Z             {
2026-06-16T08:24:18.6759848Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6759935Z               "line": 323
2026-06-16T08:24:18.6760012Z             },
2026-06-16T08:24:18.6760096Z             {
2026-06-16T08:24:18.6760211Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6760307Z               "line": 346
2026-06-16T08:24:18.6760392Z             },
2026-06-16T08:24:18.6760472Z             {
2026-06-16T08:24:18.6760587Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6760663Z               "line": 388
2026-06-16T08:24:18.6760747Z             },
2026-06-16T08:24:18.6760823Z             {
2026-06-16T08:24:18.6760942Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6761034Z               "line": 398
2026-06-16T08:24:18.6761118Z             },
2026-06-16T08:24:18.6761199Z             {
2026-06-16T08:24:18.6761314Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6761395Z               "line": 410
2026-06-16T08:24:18.6761567Z             },
2026-06-16T08:24:18.6761643Z             {
2026-06-16T08:24:18.6761766Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6761843Z               "line": 420
2026-06-16T08:24:18.6761925Z             },
2026-06-16T08:24:18.6762095Z             {
2026-06-16T08:24:18.6762216Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6762306Z               "line": 439
2026-06-16T08:24:18.6762387Z             },
2026-06-16T08:24:18.6762477Z             {
2026-06-16T08:24:18.6762583Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6762677Z               "line": 449
2026-06-16T08:24:18.6762753Z             },
2026-06-16T08:24:18.6762827Z             {
2026-06-16T08:24:18.6762935Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6763026Z               "line": 94
2026-06-16T08:24:18.6763107Z             },
2026-06-16T08:24:18.6763184Z             {
2026-06-16T08:24:18.6763306Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6763387Z               "line": 120
2026-06-16T08:24:18.6763482Z             },
2026-06-16T08:24:18.6763554Z             {
2026-06-16T08:24:18.6763671Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6763761Z               "line": 135
2026-06-16T08:24:18.6763843Z             },
2026-06-16T08:24:18.6763929Z             {
2026-06-16T08:24:18.6764033Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6764129Z               "line": 162
2026-06-16T08:24:18.6764210Z             },
2026-06-16T08:24:18.6764295Z             {
2026-06-16T08:24:18.6764405Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6764487Z               "line": 174
2026-06-16T08:24:18.6764563Z             },
2026-06-16T08:24:18.6764643Z             {
2026-06-16T08:24:18.6764763Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6764853Z               "line": 185
2026-06-16T08:24:18.6764943Z             },
2026-06-16T08:24:18.6765024Z             {
2026-06-16T08:24:18.6765136Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6765225Z               "line": 451
2026-06-16T08:24:18.6765311Z             },
2026-06-16T08:24:18.6765403Z             {
2026-06-16T08:24:18.6765525Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6765611Z               "line": 555
2026-06-16T08:24:18.6765689Z             },
2026-06-16T08:24:18.6765770Z             {
2026-06-16T08:24:18.6765887Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6765977Z               "line": 171
2026-06-16T08:24:18.6766063Z             },
2026-06-16T08:24:18.6766143Z             {
2026-06-16T08:24:18.6766247Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6766333Z               "line": 65
2026-06-16T08:24:18.6766414Z             },
2026-06-16T08:24:18.6766500Z             {
2026-06-16T08:24:18.6766618Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6766710Z               "line": 71
2026-06-16T08:24:18.6766796Z             },
2026-06-16T08:24:18.6766871Z             {
2026-06-16T08:24:18.6766986Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T08:24:18.6767067Z               "line": 77
2026-06-16T08:24:18.6767153Z             },
2026-06-16T08:24:18.6767229Z             {
2026-06-16T08:24:18.6767340Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6767434Z               "line": 778
2026-06-16T08:24:18.6767510Z             },
2026-06-16T08:24:18.6767601Z             {
2026-06-16T08:24:18.6767706Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6767792Z               "line": 795
2026-06-16T08:24:18.6767873Z             },
2026-06-16T08:24:18.6767955Z             {
2026-06-16T08:24:18.6768063Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6768140Z               "line": 838
2026-06-16T08:24:18.6768299Z             },
2026-06-16T08:24:18.6768378Z             {
2026-06-16T08:24:18.6768483Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6768561Z               "line": 981
2026-06-16T08:24:18.6768651Z             },
2026-06-16T08:24:18.6768806Z             {
2026-06-16T08:24:18.6768911Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6769078Z               "line": 1131
2026-06-16T08:24:18.6769163Z             }
2026-06-16T08:24:18.6769241Z           ]
2026-06-16T08:24:18.6769332Z         },
2026-06-16T08:24:18.6769421Z         "int": {
2026-06-16T08:24:18.6769517Z           "complete": true,
2026-06-16T08:24:18.6769613Z           "evidence": [
2026-06-16T08:24:18.6769699Z             {
2026-06-16T08:24:18.6769827Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.6769923Z               "line": 569
2026-06-16T08:24:18.6770008Z             },
2026-06-16T08:24:18.6770094Z             {
2026-06-16T08:24:18.6770219Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T08:24:18.6770304Z               "line": 135
2026-06-16T08:24:18.6770394Z             }
2026-06-16T08:24:18.6770476Z           ]
2026-06-16T08:24:18.6770557Z         },
2026-06-16T08:24:18.6770638Z         "unit": {
2026-06-16T08:24:18.6770742Z           "complete": true,
2026-06-16T08:24:18.6770834Z           "evidence": [
2026-06-16T08:24:18.6770915Z             {
2026-06-16T08:24:18.6771042Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6771122Z               "line": 624
2026-06-16T08:24:18.6771199Z             },
2026-06-16T08:24:18.6771279Z             {
2026-06-16T08:24:18.6771406Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6771502Z               "line": 673
2026-06-16T08:24:18.6771589Z             },
2026-06-16T08:24:18.6771669Z             {
2026-06-16T08:24:18.6771773Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T08:24:18.6771870Z               "line": 696
2026-06-16T08:24:18.6771955Z             },
2026-06-16T08:24:18.6772035Z             {
2026-06-16T08:24:18.6772161Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6772241Z               "line": 513
2026-06-16T08:24:18.6772317Z             },
2026-06-16T08:24:18.6772398Z             {
2026-06-16T08:24:18.6772523Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6772618Z               "line": 638
2026-06-16T08:24:18.6772699Z             },
2026-06-16T08:24:18.6772785Z             {
2026-06-16T08:24:18.6772894Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6772989Z               "line": 675
2026-06-16T08:24:18.6773072Z             },
2026-06-16T08:24:18.6773157Z             {
2026-06-16T08:24:18.6773271Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6773367Z               "line": 894
2026-06-16T08:24:18.6773472Z             },
2026-06-16T08:24:18.6773552Z             {
2026-06-16T08:24:18.6773663Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6773773Z               "line": 916
2026-06-16T08:24:18.6773857Z             },
2026-06-16T08:24:18.6773942Z             {
2026-06-16T08:24:18.6774047Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6774146Z               "line": 933
2026-06-16T08:24:18.6774231Z             },
2026-06-16T08:24:18.6774316Z             {
2026-06-16T08:24:18.6774418Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6774503Z               "line": 948
2026-06-16T08:24:18.6774593Z             },
2026-06-16T08:24:18.6774675Z             {
2026-06-16T08:24:18.6774789Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6774898Z               "line": 974
2026-06-16T08:24:18.6774990Z             },
2026-06-16T08:24:18.6775071Z             {
2026-06-16T08:24:18.6775184Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T08:24:18.6775270Z               "line": 457
2026-06-16T08:24:18.6775481Z             },
2026-06-16T08:24:18.6775571Z             {
2026-06-16T08:24:18.6775691Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T08:24:18.6775789Z               "line": 338
2026-06-16T08:24:18.6775982Z             },
2026-06-16T08:24:18.6776094Z             {
2026-06-16T08:24:18.6776200Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6776287Z               "line": 9358
2026-06-16T08:24:18.6776377Z             },
2026-06-16T08:24:18.6776471Z             {
2026-06-16T08:24:18.6776595Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6776680Z               "line": 1260
2026-06-16T08:24:18.6776774Z             },
2026-06-16T08:24:18.6776863Z             {
2026-06-16T08:24:18.6776974Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T08:24:18.6777088Z               "line": 130
2026-06-16T08:24:18.6777183Z             }
2026-06-16T08:24:18.6777285Z           ]
2026-06-16T08:24:18.6777366Z         }
2026-06-16T08:24:18.6777450Z       }
2026-06-16T08:24:18.6777537Z     },
2026-06-16T08:24:18.6780268Z     {
2026-06-16T08:24:18.6780387Z       "id": "REQ-UPD-7",
2026-06-16T08:24:18.6782548Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-16T08:24:18.6782658Z       "requiredStages": [
2026-06-16T08:24:18.6782754Z         "impl",
2026-06-16T08:24:18.6782830Z         "unit"
2026-06-16T08:24:18.6782915Z       ],
2026-06-16T08:24:18.6783012Z       "stages": {
2026-06-16T08:24:18.6783088Z         "doc": {
2026-06-16T08:24:18.6783178Z           "complete": false,
2026-06-16T08:24:18.6783259Z           "evidence": []
2026-06-16T08:24:18.6783350Z         },
2026-06-16T08:24:18.6783431Z         "impl": {
2026-06-16T08:24:18.6783526Z           "complete": true,
2026-06-16T08:24:18.6783602Z           "evidence": [
2026-06-16T08:24:18.6783684Z             {
2026-06-16T08:24:18.6783797Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6783888Z               "line": 2408
2026-06-16T08:24:18.6783966Z             }
2026-06-16T08:24:18.6784051Z           ]
2026-06-16T08:24:18.6784126Z         },
2026-06-16T08:24:18.6784203Z         "int": {
2026-06-16T08:24:18.6784304Z           "complete": false,
2026-06-16T08:24:18.6784385Z           "evidence": []
2026-06-16T08:24:18.6784459Z         },
2026-06-16T08:24:18.6784550Z         "unit": {
2026-06-16T08:24:18.6784631Z           "complete": true,
2026-06-16T08:24:18.6784716Z           "evidence": [
2026-06-16T08:24:18.6784791Z             {
2026-06-16T08:24:18.6784896Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6784987Z               "line": 9334
2026-06-16T08:24:18.6785068Z             }
2026-06-16T08:24:18.6785148Z           ]
2026-06-16T08:24:18.6785230Z         }
2026-06-16T08:24:18.6785312Z       }
2026-06-16T08:24:18.6785388Z     },
2026-06-16T08:24:18.6785463Z     {
2026-06-16T08:24:18.6785559Z       "id": "REQ-UPD-8",
2026-06-16T08:24:18.6788044Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-16T08:24:18.6788368Z       "requiredStages": [
2026-06-16T08:24:18.6788450Z         "impl",
2026-06-16T08:24:18.6788535Z         "unit"
2026-06-16T08:24:18.6788612Z       ],
2026-06-16T08:24:18.6788693Z       "stages": {
2026-06-16T08:24:18.6788775Z         "doc": {
2026-06-16T08:24:18.6788874Z           "complete": false,
2026-06-16T08:24:18.6789036Z           "evidence": []
2026-06-16T08:24:18.6789123Z         },
2026-06-16T08:24:18.6789207Z         "impl": {
2026-06-16T08:24:18.6789318Z           "complete": true,
2026-06-16T08:24:18.6789399Z           "evidence": [
2026-06-16T08:24:18.6789485Z             {
2026-06-16T08:24:18.6789623Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6789709Z               "line": 77
2026-06-16T08:24:18.6789846Z             },
2026-06-16T08:24:18.6789936Z             {
2026-06-16T08:24:18.6790080Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6790166Z               "line": 49
2026-06-16T08:24:18.6790246Z             },
2026-06-16T08:24:18.6790322Z             {
2026-06-16T08:24:18.6790442Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6790532Z               "line": 152
2026-06-16T08:24:18.6790603Z             },
2026-06-16T08:24:18.6790681Z             {
2026-06-16T08:24:18.6790800Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6790890Z               "line": 215
2026-06-16T08:24:18.6790967Z             },
2026-06-16T08:24:18.6791039Z             {
2026-06-16T08:24:18.6791162Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6791243Z               "line": 230
2026-06-16T08:24:18.6791320Z             },
2026-06-16T08:24:18.6791401Z             {
2026-06-16T08:24:18.6791519Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6791611Z               "line": 247
2026-06-16T08:24:18.6791687Z             },
2026-06-16T08:24:18.6791767Z             {
2026-06-16T08:24:18.6791882Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6791964Z               "line": 269
2026-06-16T08:24:18.6792044Z             },
2026-06-16T08:24:18.6792125Z             {
2026-06-16T08:24:18.6792248Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6792329Z               "line": 66
2026-06-16T08:24:18.6792408Z             },
2026-06-16T08:24:18.6792489Z             {
2026-06-16T08:24:18.6792603Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T08:24:18.6792699Z               "line": 154
2026-06-16T08:24:18.6792770Z             },
2026-06-16T08:24:18.6792855Z             {
2026-06-16T08:24:18.6792956Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6793052Z               "line": 2212
2026-06-16T08:24:18.6793123Z             },
2026-06-16T08:24:18.6793199Z             {
2026-06-16T08:24:18.6793300Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6793385Z               "line": 2275
2026-06-16T08:24:18.6793470Z             },
2026-06-16T08:24:18.6793548Z             {
2026-06-16T08:24:18.6793653Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6793733Z               "line": 2285
2026-06-16T08:24:18.6793814Z             },
2026-06-16T08:24:18.6793897Z             {
2026-06-16T08:24:18.6794000Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6794086Z               "line": 2292
2026-06-16T08:24:18.6794168Z             },
2026-06-16T08:24:18.6794249Z             {
2026-06-16T08:24:18.6794353Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6794434Z               "line": 2409
2026-06-16T08:24:18.6794630Z             },
2026-06-16T08:24:18.6794711Z             {
2026-06-16T08:24:18.6794812Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6794893Z               "line": 480
2026-06-16T08:24:18.6794977Z             },
2026-06-16T08:24:18.6795148Z             {
2026-06-16T08:24:18.6795248Z               "path": "crates/xtask/src/main.rs",
2026-06-16T08:24:18.6795346Z               "line": 494
2026-06-16T08:24:18.6795427Z             }
2026-06-16T08:24:18.6795513Z           ]
2026-06-16T08:24:18.6795590Z         },
2026-06-16T08:24:18.6795675Z         "int": {
2026-06-16T08:24:18.6795761Z           "complete": false,
2026-06-16T08:24:18.6795853Z           "evidence": []
2026-06-16T08:24:18.6795938Z         },
2026-06-16T08:24:18.6796023Z         "unit": {
2026-06-16T08:24:18.6796120Z           "complete": true,
2026-06-16T08:24:18.6796210Z           "evidence": [
2026-06-16T08:24:18.6796295Z             {
2026-06-16T08:24:18.6796419Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T08:24:18.6796511Z               "line": 476
2026-06-16T08:24:18.6796591Z             },
2026-06-16T08:24:18.6796671Z             {
2026-06-16T08:24:18.6796782Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T08:24:18.6796868Z               "line": 580
2026-06-16T08:24:18.6796944Z             },
2026-06-16T08:24:18.6797025Z             {
2026-06-16T08:24:18.6797131Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6797225Z               "line": 9336
2026-06-16T08:24:18.6797301Z             },
2026-06-16T08:24:18.6797384Z             {
2026-06-16T08:24:18.6797488Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6797572Z               "line": 9358
2026-06-16T08:24:18.6797648Z             }
2026-06-16T08:24:18.6797729Z           ]
2026-06-16T08:24:18.6797815Z         }
2026-06-16T08:24:18.6797894Z       }
2026-06-16T08:24:18.6797979Z     },
2026-06-16T08:24:18.6798061Z     {
2026-06-16T08:24:18.6798162Z       "id": "REQ-WHOAMI-1",
2026-06-16T08:24:18.6799911Z       "title": "`spt whoami` is a thin ALIAS for `spt endpoint list` (full output: the SELF pin + the subnet roster) — the standalone bare-id command is dropped (the `id=$(spt whoami)` capture was never a real pattern: env vars don't persist between agent tool calls). The one new render: the `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read_info(...).resources) when present, inline after the liveness state. whoami stays a top-level hot-path verb (parse unchanged, REQ-MSG-9).",
2026-06-16T08:24:18.6800008Z       "requiredStages": [
2026-06-16T08:24:18.6800096Z         "doc",
2026-06-16T08:24:18.6800173Z         "impl",
2026-06-16T08:24:18.6800256Z         "unit"
2026-06-16T08:24:18.6800337Z       ],
2026-06-16T08:24:18.6800420Z       "stages": {
2026-06-16T08:24:18.6800506Z         "doc": {
2026-06-16T08:24:18.6800587Z           "complete": true,
2026-06-16T08:24:18.6800683Z           "evidence": [
2026-06-16T08:24:18.6800773Z             {
2026-06-16T08:24:18.6800873Z               "path": "CONTEXT.md",
2026-06-16T08:24:18.6800965Z               "line": 652
2026-06-16T08:24:18.6801046Z             }
2026-06-16T08:24:18.6801125Z           ]
2026-06-16T08:24:18.6801207Z         },
2026-06-16T08:24:18.6801298Z         "impl": {
2026-06-16T08:24:18.6801388Z           "complete": true,
2026-06-16T08:24:18.6801464Z           "evidence": [
2026-06-16T08:24:18.6801555Z             {
2026-06-16T08:24:18.6801655Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6801755Z               "line": 2892
2026-06-16T08:24:18.6801826Z             },
2026-06-16T08:24:18.6801909Z             {
2026-06-16T08:24:18.6801998Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6802079Z               "line": 2904
2026-06-16T08:24:18.6802166Z             }
2026-06-16T08:24:18.6802238Z           ]
2026-06-16T08:24:18.6802327Z         },
2026-06-16T08:24:18.6802403Z         "int": {
2026-06-16T08:24:18.6802595Z           "complete": false,
2026-06-16T08:24:18.6802685Z           "evidence": []
2026-06-16T08:24:18.6802774Z         },
2026-06-16T08:24:18.6802856Z         "unit": {
2026-06-16T08:24:18.6802945Z           "complete": true,
2026-06-16T08:24:18.6803025Z           "evidence": [
2026-06-16T08:24:18.6803188Z             {
2026-06-16T08:24:18.6803293Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6803373Z               "line": 6817
2026-06-16T08:24:18.6803454Z             },
2026-06-16T08:24:18.6803536Z             {
2026-06-16T08:24:18.6803630Z               "path": "crates/spt/src/cli.rs",
2026-06-16T08:24:18.6803711Z               "line": 6833
2026-06-16T08:24:18.6803793Z             }
2026-06-16T08:24:18.6803870Z           ]
2026-06-16T08:24:18.6803950Z         }
2026-06-16T08:24:18.6804036Z       }
2026-06-16T08:24:18.6804118Z     }
2026-06-16T08:24:18.6804193Z   ],
2026-06-16T08:24:18.6804284Z   "findings": []
2026-06-16T08:24:18.6804369Z }
